【问题标题】:Using strftime as . File Name使用 strftime 作为 .文件名
【发布时间】:2015-09-25 05:14:10
【问题描述】:

尝试使用以下代码编写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,为什么它会搜索尚未创建的文件/目录?

任何人的帮助将不胜感激:)

【问题讨论】:

  • 文件名不合法。 / 表示目录,不确定:。将所有 / 和 : 替换为 - 或 _。

标签: python csv pandas export-to-csv


【解决方案1】:

错误很明显 -

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/ 将被视为一个目录。

一个简单的解决方案是在年/月/日之间使用/ 以外的其他东西。示例 -

file_name = time.strftime("Box_Office_Data_%Y_%m_%d_%H:%M.csv")
allFilms.to_csv(file_name)

【讨论】:

  • 对不起,这很清楚 - 刚刚度过了漫长的一天 :( 感谢支持
  • 很高兴我们能提供帮助。我想请您接受一个答案(通过单击答案左侧的勾号),这将对社区有所帮助。
【解决方案2】:

在您的代码中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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 2022-06-13
    • 2016-01-17
    • 2015-01-12
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    相关资源
    最近更新 更多