【发布时间】:2017-12-21 09:12:37
【问题描述】:
我被一堆 csv 文件(多列,第 14 行的标题)困住了,我想将所有 csv 附加到单个 Excel 工作表模板。该模板的标题只是 csv 的子集,因此并非每一列都需要复制。所以理想情况下,我需要能够分配将哪一列复制到哪一新列..
到目前为止,我只能将 csv 文件转换为对应的 excel 文件...
wb = openpyxl.load_workbook('D:/Users/abc/Desktop/Template.xlsx')
ws = wb.get_sheet_by_name('Sheet1')
for csv_file in glob.glob(csv_dir):
if csv_file.endswith('.csv'):
with open(csv_file, 'rb') as f:
reader = csv.reader(f, delimiter=',')
for row_index, row in enumerate(reader):
for column_index, cell in enumerate(row):
column_letter = get_column_letter((column_index + 1))
ws.cell('%s%s'%(column_letter, (row_index + 1))).value = cell
wb.save(filename = dest_filename)
【问题讨论】:
-
您正在使用 excel 或 csv 文件?
-
您能否提供一小部分数据样本以及您想要的结果,以便我们重现该问题?
-
@NareshKumar 我同时使用,将多个 csv 附加到 excel 电子表格
-
为什么不读取所有的csv并将其保存在易于处理的数据框中,并根据需要附加数据,然后根据需要再次将其转换为csv或excel