Я хочу создать цикл для записи данных из разных текстовых файлов в один файл Excel - PullRequest
1 голос
/ 11 июля 2019

Я пытаюсь распечатать данные из некоторых текстовых файлов в папке в файл 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 голосов
/ 11 июля 2019

Проблема в том, что вы сначала читаете данные из всех файлов в массив 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)
...