我是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()
格式说明。
演示:
>>> from datetime import date
>>> today = date.today()
>>> 'Log_{:%Y-%m-%d}'.format(today)
'Log_2015-01-11'
是的,它已经是我所在时区的第 11 位了。