如何将文件夹中的所有.csv文件转换为一个包含多个工作表标签的单一.xlsx文件(每个.csv一个标签)?
我有一个文件夹,里面大约有20个.csv文件。我想把这些文件合并成一个.xlsx文件(也就是Excel文件),并且每个.csv文件对应一个工作表标签。
有没有人能推荐一个简单的脚本,让用户只需要指定两个东西:一个是包含.csv文件的文件夹,另一个是新.xlsx文件的保存路径?
我在一个讨论串里找到了同样的问题,但没有找到我能理解的答案:
谢谢大家!
2 个回答
1
我看到你在问题中标记了Python,但还有一个选择是使用Power Query(这是微软提供的一个免费的Excel插件),它有一个“获取外部数据”->“从文件夹”选项。
7
下面这段代码的作用是接收一个文件夹的名字(这个文件夹里有多个csv文件),然后把这些csv文件合并成一个xls文件,里面包含多个工作表。
import xlwt, csv, os
csv_folder = "Output/"
book = xlwt.Workbook()
for fil in os.listdir(csv_folder):
sheet = book.add_sheet(fil[:-4])
with open(csv_folder + fil) as filname:
reader = csv.reader(filname)
i = 0
for row in reader:
for j, each in enumerate(row):
sheet.write(i, j, each)
i += 1
book.save("Output.xls")