格式化 Python 中的字符串给我一个找不到文件的错误
Formatting a string in Python is giving me a file not found error
我是 python 的新手,正在尝试与 Pandas 一起使用几个具有可预测名称的 .csv 文件,Log_(yyyy/mm/dd).
我的计划很简单,但打开文件时遇到问题。
today = date.today()
m,d,y = today.month, today.day, today.year
file_name = 'Log_{}-{}-{}'.format(y,m,d)
pd.read_csv(file_name)
这会给我一个错误,但这有效
file_name = 'Log_2015-01-10'
pd.read_csv(file_name)
他们打印同样的东西,str(file_name)
没有解决问题。
您有两个问题:您的元组赋值交换了日期和年份值,并且您需要对 10 以下的值进行零填充。您实际上生成的是字符串 'Log_10-1-2015'
,而不是 'Log_2014-01-10'
。
将日期格式化为字符串最简单,方法是将格式化留给日期对象而不是自己提取各个组件:
today = date.today()
file_name = 'Log_{:%Y-%m-%d}'.format(today)
%
字段 strftime()
formatting instructions 默认使用零填充。
演示:
>>> from datetime import date
>>> today = date.today()
>>> 'Log_{:%Y-%m-%d}'.format(today)
'Log_2015-01-11'
是的,在我所在的时区已经是 11 号了。 :-)
我是 python 的新手,正在尝试与 Pandas 一起使用几个具有可预测名称的 .csv 文件,Log_(yyyy/mm/dd).
我的计划很简单,但打开文件时遇到问题。
today = date.today()
m,d,y = today.month, today.day, today.year
file_name = 'Log_{}-{}-{}'.format(y,m,d)
pd.read_csv(file_name)
这会给我一个错误,但这有效
file_name = 'Log_2015-01-10'
pd.read_csv(file_name)
他们打印同样的东西,str(file_name)
没有解决问题。
您有两个问题:您的元组赋值交换了日期和年份值,并且您需要对 10 以下的值进行零填充。您实际上生成的是字符串 'Log_10-1-2015'
,而不是 'Log_2014-01-10'
。
将日期格式化为字符串最简单,方法是将格式化留给日期对象而不是自己提取各个组件:
today = date.today()
file_name = 'Log_{:%Y-%m-%d}'.format(today)
%
字段 strftime()
formatting instructions 默认使用零填充。
演示:
>>> from datetime import date
>>> today = date.today()
>>> 'Log_{:%Y-%m-%d}'.format(today)
'Log_2015-01-11'
是的,在我所在的时区已经是 11 号了。 :-)