0

ファイル名を自動的に開いて.csvとして保存できるようにしたいのですが、生成するファイルは常に同じもの+今日の日付と呼ばれます。たとえば、今日のスプレッドシートは次のように呼び出すことができます。

"TODAYS SHEET" + Todays date.xls

保管場所

C:\A\B\C\D

今日の.xlsファイルを開いて.csvとして保存するコードを取得するにはどうすればよいですか

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

最終的には、この .csv ファイルから直接データを読み込んで、webscraper と比較したいので、2 番目の場所に .csv として保存せずに .xls ファイルを .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 に答える