使用 strftime 作为 .文件名
Using strftime as . File Name
正在尝试使用以下代码写入 to_csv
:
file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
allFilms.to_csv(file_name)
但出现以下错误:
FileNotFoundError Traceback (most recent call last)
<ipython-input-36-aa2d6e13e9af> in <module>()
9
10 file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
---> 11 allFilms.to_csv(file_name)
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/frame.py in to_csv(self, path_or_buf, sep, na_rep, float_format, columns, header, index, index_label, mode, encoding, quoting, quotechar, line_terminator, chunksize, tupleize_cols, date_format, doublequote, escapechar, decimal, **kwds)
1187 escapechar=escapechar,
1188 decimal=decimal)
-> 1189 formatter.save()
1190
1191 if path_or_buf is None:
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/format.py in save(self)
1440 else:
1441 f = com._get_handle(self.path_or_buf, self.mode,
-> 1442 encoding=self.encoding)
1443 close = True
1444
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/common.py in _get_handle(path, mode, encoding, compression)
2827 f = open(path, mode, encoding=encoding)
2828 else:
-> 2829 f = open(path, mode, errors='replace')
2830 else:
2831 f = open(path, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'Box_Office_Data_2015/09/24_22:11.csv'
既然我正在写入 csv,为什么它会搜索尚未创建的 file/directory?
非常感谢任何人的帮助:)
错误很明显-
FileNotFoundError: [Errno 2] No such file or directory: 'Box_Office_Data_2015/09/24_22:11.csv'
如果您在尝试执行 .to_csv()
时出现此错误,则表示您尝试保存文件的目录不存在。因此,在您的情况下,目录 - Box_Office_Data_2015/09/
不存在。看起来你实际上是想 Box_Office_Data_2015/09/24_22:11.csv
成为一个文件名(没有目录),我不确定这是否可能 09/
被认为是一个目录。
一个简单的解决方案是在 year/month/day 之间使用 /
以外的东西。示例 -
file_name = time.strftime("Box_Office_Data_%Y_%m_%d_%H:%M.csv")
allFilms.to_csv(file_name)
在你的代码中 file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
.
文件名是这样的Box_Office_Data_2015/09/24_22:11.csv
,意思是文件的路径。
尝试将 /
替换为 _
。
试试这个:
file_name = time.strftime("Box_Office_Data_%Y_%m_%d_%H:%M.csv")
正在尝试使用以下代码写入 to_csv
:
file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
allFilms.to_csv(file_name)
但出现以下错误:
FileNotFoundError Traceback (most recent call last)
<ipython-input-36-aa2d6e13e9af> in <module>()
9
10 file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
---> 11 allFilms.to_csv(file_name)
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/frame.py in to_csv(self, path_or_buf, sep, na_rep, float_format, columns, header, index, index_label, mode, encoding, quoting, quotechar, line_terminator, chunksize, tupleize_cols, date_format, doublequote, escapechar, decimal, **kwds)
1187 escapechar=escapechar,
1188 decimal=decimal)
-> 1189 formatter.save()
1190
1191 if path_or_buf is None:
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/format.py in save(self)
1440 else:
1441 f = com._get_handle(self.path_or_buf, self.mode,
-> 1442 encoding=self.encoding)
1443 close = True
1444
/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/common.py in _get_handle(path, mode, encoding, compression)
2827 f = open(path, mode, encoding=encoding)
2828 else:
-> 2829 f = open(path, mode, errors='replace')
2830 else:
2831 f = open(path, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'Box_Office_Data_2015/09/24_22:11.csv'
既然我正在写入 csv,为什么它会搜索尚未创建的 file/directory?
非常感谢任何人的帮助:)
错误很明显-
FileNotFoundError: [Errno 2] No such file or directory: 'Box_Office_Data_2015/09/24_22:11.csv'
如果您在尝试执行 .to_csv()
时出现此错误,则表示您尝试保存文件的目录不存在。因此,在您的情况下,目录 - Box_Office_Data_2015/09/
不存在。看起来你实际上是想 Box_Office_Data_2015/09/24_22:11.csv
成为一个文件名(没有目录),我不确定这是否可能 09/
被认为是一个目录。
一个简单的解决方案是在 year/month/day 之间使用 /
以外的东西。示例 -
file_name = time.strftime("Box_Office_Data_%Y_%m_%d_%H:%M.csv")
allFilms.to_csv(file_name)
在你的代码中 file_name = time.strftime("Box_Office_Data_%Y/%m/%d_%H:%M.csv")
.
文件名是这样的Box_Office_Data_2015/09/24_22:11.csv
,意思是文件的路径。
尝试将 /
替换为 _
。
试试这个:
file_name = time.strftime("Box_Office_Data_%Y_%m_%d_%H:%M.csv")