2013-06-23 32 views
-1

我希望能夠自動打開文件名並將其保存爲.csv文件,我生成的文件總是被稱爲同一件事物+今天的日期。例如今天的電子表格可稱爲:在Python中打開文件名+日期爲csv

"TODAYS SHEET" + Todays date.xls 

存儲在位置

C:\A\B\C\D 

我該如何獲得代碼來打開今天的.xls文件並將其保存在位置爲.csv

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

我最終希望直接從這個.csv文件加載數據,以便與webscraper進行比較,因此可能會有方法將.xls文件作爲.csv打開,而不將其另存爲.csv作爲另一個位置。

回答

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

你可以看看string format的strftime函數。也看看open function和你可以做什麼with files

+0

歡呼Paco,上面的代碼是否直接打開.xls作爲.csv? – AEA

+0

a CSV,如果你想要一個xls,你需要使用python excel模塊http://www.python-excel.org/ – Paco

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)