在 Python 中格式化字符串会给我一个找不到文件的错误



我是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 位了。

相关内容

最新更新