使用Python Openpyxl将多个CSV附加到单个Excel工作表

问题描述 投票:0回答:1

我被困在一堆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)
python excel csv openpyxl
1个回答
-1
投票

这可能就是你要找的东西

从pandas.io.excel导入ExcelWriter导入pandas

csv_files = ['my_file1.csv', 'my_file2.csv', ..., 'my_file5.csv']

with ExcelWriter('my_excel.xlsx') as ew:
    for csv_file in csv_files:
        pandas.read_csv(csv_file).to_excel(ew, sheet_name=csv_file)

通过Everilä

© www.soinside.com 2019 - 2024. All rights reserved.