【问题标题】:Add Timestamp to file name during saving Data Frame in csv在 csv 中保存数据框时将时间戳添加到文件名
【发布时间】:2021-05-12 14:22:21
【问题描述】:

当我将文件保存到 .csv 时,我想在它旁边添加创建该文件时的时间戳。我试过这个,但没有用:

df.to_csv('File_name_{}.csv'.format(pd.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))) 

它给了我这个输出:

OSError: [Errno 22] Invalid argument: 'File_name_2021-05-12 16:20:23.csv'

我该如何纠正这个问题?

【问题讨论】:

  • 这可能与您的操作系统不允许“:”字符有关(windows 不允许这样做)尝试考虑不同的显示方式(例如,使用 - 或 _)跨度>
  • 非常感谢,它成功了,只是删除了“:”。

标签: python pandas dataframe python-requests export-to-csv


【解决方案1】:

Windows 上的文件名中不允许使用冒号,因此您可以使用 sans-colons 行,它应该可以正常工作:

df.to_csv('File_name_{}.csv'.format(pd.datetime.now().strftime("%Y-%m-%d %H%M%S")))

根据微软Documentation

使用当前代码页中的任何字符作为名称,包括 Unicode 字符和扩展字符集中的字符 (128–255),但以下情况除外:

  • 以下保留字符:

    • >(大于)
    • :(冒号)
    • "(双引号)
    • /(正斜杠)
    • \(反斜杠)
    • | (竖条或竖管)
    • ? (问号)
    • *(星号)
  • 整数值零,有时称为 ASCII NUL 字符。

  • 整数表示在 1 到 31 范围内的字符,这些字符的备用数据流除外 被允许。有关文件流的更多信息,请参阅文件 流。

  • 目标文件系统不允许的任何其他字符。

【讨论】:

    【解决方案2】:

    解决此问题的一种简单方法是执行以下操作:

    df.to_csv('File_name_{}.csv'.format(pd.datetime.now().strftime("%Y-%m-%d %Hh%Mm%Ss"))) 
    

    【讨论】:

      猜你喜欢
      • 2016-07-27
      • 1970-01-01
      • 2013-12-28
      • 2014-07-13
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      相关资源
      最近更新 更多