【问题标题】:Open a file name +date as csv in Python [closed]在Python中打开文件名+日期为csv [关闭]
【发布时间】:2013-06-23 14:55:29
【问题描述】:

我希望能够自动打开一个文件名并将其另存为 .csv,我生成的文件总是被称为相同的东西 + 今天的日期。例如今天的电子表格可以被称为:

"TODAYS SHEET" + Todays date.xls

存储位置

C:\A\B\C\D

如何获取代码以打开今天的 .xls 文件并将其保存为 .csv 位置

C:\A\B\C\D\E

我最终想直接从这个 .csv 文件加载数据,以便与网络抓取工具进行比较,因此很可能有一种方法可以将 .xls 文件作为 .csv 文件打开,而无需将其另存为 .csv 文件。

【问题讨论】:

    标签: python python-2.7 csv file-io xls


    【解决方案1】:

    它应该看起来像这样:

    import datetime
    today_string = datetime.datetime.today().strftime('%x')
    
    with open('C:/A/B/C/D/TODAYS SHEET' + today_string + '.csv', 'w') as my_file:
        my_file.write('a,a,a,a,a,a')
    

    您可以查看 string format 的 strftime 函数。也看看open function 和你可以做什么with files

    【讨论】:

    • 干杯 Paco,上面的代码是否将 .xls 直接打开为 .csv ?
    • 一个CSV,如果你想要一个xls,你需要使用python excel模块python-excel.org
    【解决方案2】:

    要打开 csv,我会使用 xlrd。

    import csv
    import datetime
    import os
    
    import xlrd
    
    path = "C:\Users\John\Desktop"
    file_name = "TODAYS SHEET " + datetime.datetime.today().strftime('%Y-%m-%d') + ".csv"
    
    with open(os.path.join(path, file_name), 'w') as file_:
    
        writer = csv.writer(file_)
    
        workbook = xlrd.open_workbook('herp.xlsx')
        worksheet = workbook.sheet_by_name('A Snazzy Title')
    
        num_rows = worksheet.nrows - 1
        curr_row = -1
    
        while curr_row < num_rows:
            curr_row += 1
            row = [cell.value for cell in worksheet.row(curr_row)]
            writer.writerow(row)
    

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 2023-04-03
      • 1970-01-01
      • 2018-05-15
      • 2011-03-06
      • 2019-11-27
      • 2013-01-06
      • 2016-06-01
      • 2018-12-28
      相关资源
      最近更新 更多