我有一个函数,它接受 Excel 文件输入并将每个选项卡转换为 CSV 文件。它完美地工作,见下文。
但是,我想向每个 CSV 文件添加一个新列,例如每个带有“日期”列的文件,其中包含今天的日期。我的计划是将 XLSX 加载到数据框,然后在写入 CSV 之前添加列,但是我想知道是否有更优雅的解决方案,因为某些 Excel 文件可以达到数百 MB?
def excel_to_csv(excel_file):
print("Converting to CSV")
with xlrd.open_workbook(excel_file) as wb:
sheets = wb.sheets()
for sh in sheets:
save_file = f'{os.path.splitext(excel_file)[0]}_{sh.name}.csv'
with open(save_file, 'w', newline="") as f:
c = csv.writer(f)
for r in range(sh.nrows):
print(sh.row_values(r))
c.writerow(sh.row_values(r))
相关分类