我希望能够自动打开文件名并将其另存为.csv,我生成的文件总是被称为同一个日期+今天的日期。例如,可以调用今天的电子表格:
"TODAYS SHEET" + Todays date.xls
存储在位置
C:\A\B\C\D
我如何获取代码以打开今天的.xls文件并将其另存为.csv
C:\A\B\C\D\E
我最终希望直接从此.csv文件加载数据以与webscraper进行比较,因此可能有一种方法可以将.xls文件作为.csv打开而不将其保存为第二个位置的.csv。
答案 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)