【问题标题】:Trying to pass filename to ExcelWriter试图将文件名传递给 ExcelWriter
【发布时间】:2016-11-14 18:52:09
【问题描述】:

我正在尝试将自定义文件名变量传递给 ExcelWriter,但由于某种原因无法使 ExcelWriter 部分工作。如果我在 ExcelWriter 函数中将“Sheetname”替换为“Temp.xlsx”,则此方法有效,但我无法将变量传递给该函数。每次运行脚本时,我都需要能够在文件名中存储今天的日期。

Spreadsheet = pandas.DataFrame()
Sheetname = 'Makino Machine Metrics ' + time.strftime("%m/%d/%Y") +'.xlsx'
writer = pandas.ExcelWriter(Sheetname, engine = 'xlsxwriter')
Spreadsheet.to_excel(writer, sheet_name= 'Results',index = False)
workbook = writer.book
worksheet = writer.sheets['Results']
writer.save() 

提前感谢您的帮助

【问题讨论】:

    标签: python pandas time xlsxwriter


    【解决方案1】:

    当我运行你的程序时,我收到以下错误:

    IOError: [Errno 2] No such file or directory: 
             'Makino Machine Metrics 07/12/2016.xlsx'
    

    您可以通过删除日期部分的正斜杠来修复它:

    import pandas
    import time
    
    Spreadsheet = pandas.DataFrame()
    Sheetname = 'Makino Machine Metrics ' + time.strftime("%m_%d_%Y") +'.xlsx'
    writer = pandas.ExcelWriter(Sheetname, engine = 'xlsxwriter')
    
    Spreadsheet.to_excel(writer, sheet_name='Results', index=False)
    workbook = writer.book
    worksheet = writer.sheets['Results']
    writer.save() 
    

    看起来错误来自打开:

     >>> open('12/12/12.xlsx', 'w')   
     Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     IOError: [Errno 2] No such file or directory: '12/12/12.xlsx'
    

    因此,要么转义这些字符,要么在日期中使用其他字符,如上例所示。

    【讨论】:

      猜你喜欢
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多