从python中的n个csv文件创建excel文件

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

我试图将csv文件中的数据放入python 2.7 windows 7中的excel文件中。每次我使用以下函数时,python都会将csv转换为相应的文件并命名它,但这是问题所在。我希望将一个csv文件的数据复制到它的相应excel文件和第二个excel文件中的第二个csv的数据但是我犯的错误是在创建第一个excel之后,第一个excel的数据被复制到第二个excel文件。所以第二个excel除了它自己的csv文件数据外,还有来自1st excel的数据。而第3个excel拥有1st excel + 2nd excel和3rd excel的数据。谁能告诉我我做错了什么?附件是代码:

import xlwt
import os
path = ('C:\Users\PETERemote\PycharmProjects\untitled\distributions')
data = []
count =1
count2 = 0
for files in os.listdir(path):
    if files.endswith("COUNT16_DISTRIBUTION" + str(count*1) + ".csv"):
        count += 1
count2 = count-1
print(count2)
#print(count2 = count)

count3=1
file_name = "COUNT16_DISTRIBUTION" + str(count3*1) + ".csv"
while (count3<=count2):
    with open(file_name) as f:
        for line in f:
            data.insert([word for word in line.split("  ") if word])
    wb = xlwt.Workbook()
    output_file = open("COUNT16_DIST" + str(count3 * 1) + ".xls", 'w')
    count3 += 1
    sheet = wb.add_sheet("Sheet1")
    for row_index in range(len(data)):
        for col_index in range(len(data[row_index])):
            sheet.write(row_index, col_index, data[row_index][col_index])
    wb.save(output_file)
    output_file.close()
python excel csv
1个回答
1
投票

你只需要添加东西到data

这就是为什么到目前为止每个输出文件都包含所有输入文件的内容。

您应该在保存输出文件后立即清除数据:

wb.save(output_file)
data = []
© www.soinside.com 2019 - 2024. All rights reserved.