我想将一些工作表添加到一本工作簿中。
sheets = ["A.csv", "B.csv", "C.csv"]
for sh in sheets:
    workbook = xlsxwriter.Workbook('myxlsx.xlsx')
    worksheet = workbook.add_worksheet(sh)
    worksheet.write(1,1,"abcd")
    workbook.close()
但它所做的是,它只创建一个与“C.csv”相对应的工作表,而不是与“A.csv”和“B.csv”相对应的工作表。据我所知,这是因为每次循环时都会创建一个新的工作簿。我想在同一工作簿上创建 3 张工作表。
另外,有一个条件,我只想在循环内初始化工作簿构造函数。
这是示例代码。工作簿构造函数需要在 for 循环之外创建,它可以满足您的要求!
输入 csv 文件:
示例代码
import os
import glob
import xlsxwriter
import csv
flist = [os.path.basename(x) for x in glob.glob(os.getcwd() + '\\*.csv')]
workbook = xlsxwriter.Workbook('split_book.xlsx')
for sh in flist:
    worksheet = workbook.add_worksheet(sh)
    with open(sh, 'rb') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, col in enumerate(row):
                worksheet.write(r, c, col)
workbook.close()
输出
| 归档时间: | 
 | 
| 查看次数: | 18865 次 | 
| 最近记录: |