在Python中打开文件名+日期作为csv

时间:2013-06-23 14:55:29

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

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

"TODAYS SHEET" + Todays date.xls

存储在位置

C:\A\B\C\D

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

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

我最终希望直接从此.csv文件加载数据以与webscraper进行比较,因此可能有一种方法可以将.xls文件作为.csv打开而不将其保存为第二个位置的.csv。

2 个答案:

答案 0 :(得分:5)

看起来应该接近这个:

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')

您可以查看strftime函数的string format。另请查看open function以及您可以执行的操作with files

答案 1 :(得分:1)

要打开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)