我想创建一个循环以将数据从不同的文本文件写入单个excel文件

时间:2019-07-11 06:14:55

标签: python xlsxwriter

我正在尝试将文件夹中某些文本文件中的数据打印到excel文件中。 我希望每个文件数据都在每一列中。我只能将所有文件中的数据写到单列中。你能帮我怎么做吗?

import glob, xlsxwriter

workbook = xlsxwriter.Workbook('Example2.xlsx')
worksheet = workbook.add_worksheet()

row = 0
column = 0

fileslist = []
for file in glob.glob("C:/Users/sahithpixels/Documents/SDN/*"):
    fileslist.append(file)
    a = file.strip('\n')
#    print(a)

filedata = []
for line in fileslist:
    with open(line, 'r') as inputfile:
        f = inputfile.read().rstrip('\n\n')
        filedata.append(f)
for line1 in filedata:
    x = line1.split('\n\n')
    for line2 in x:
        worksheet.write_string(row, column, line2)
        row += 1
print(filedata)
workbook.close()

1 个答案:

答案 0 :(得分:0)

问题在于您首先将所有文件中的数据读取到filedata数组中。之后,您将无法再判断哪一行来自哪个文件,因此无法递增column计数器。您必须嵌套两个循环。与此类似:

filedata = []
for line in fileslist:
    row = 0
    with open(line, 'r') as inputfile:
        f = inputfile.read().rstrip('\n\n')
        filedata.append(f)
        x = f.split('\n\n')
        for line2 in x:
            worksheet.write_string(row, column, line2)
            row += 1
    column += 1
print(filedata)