0

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

"TODAYS SHEET" + Todays date.xls

存储在位置

C:\A\B\C\D

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

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

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

4

2 回答 2

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 函数的字符串格式。还可以查看open 函数以及可以对文件执行的操作

于 2013-06-23T15:23:17.400 回答
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)
于 2013-06-23T15:44:30.163 回答