Python l oop только печать конечного l oop кадра данных в качестве вывода в Excel - PullRequest
0 голосов
/ 22 апреля 2020

Я застрял в этой (скорее всего, очень простой) проблеме, но мой вывод в Excel печатает только значения в конечном l oop. Я полагаю, что это как-то связано с отступом, и попытался вывести значения из для l oop, что оказалось неудачным. Вот некоторый фиктивный код, чтобы помочь понять проблему:

#dummy code

#reads each file in folder, runs through a bunch of functions, and prints output in console
import os,glob
import csv
import pandas as pd
filename ='path to folder'
for filename in glob.glob(os.path.join(folder_path, '*.txt')):
    with open(filename, 'r') as f:
        text = f.read()
        data =function1(file= filename)
        data= function2(file= filename)
        data = function3(file= filename)
        final =pd.DataFrame(data)
        print(final)
        final.to_excel('output.xlsx')

Вывод в консоли выглядит следующим образом, и это правильно, и что я хотел бы экспортировать в CSV:

0  some text here ...
1  more text...
2  clear text...
3  final data...
                                                   0
0  yes no...
1  does lots...
2  happy sunflower ...
3  ate food...

                                                  0
0  final data ...
1  apple strawberry...
2  different dataset...
3  dinne meals ...

Любой совет был бы оценен. Спасибо.

1 Ответ

0 голосов
/ 22 апреля 2020

Вы перезаписывает output.csv на каждой итерации для l oop. Попробуйте сделать это вместо этого

import pandas as pd
#use enumerate to have a counter variable at each index
for filename, n in enumerate(glob.glob(os.path.join(folder_path, '*.txt'))):
    with open(filename, 'r') as f:
        #your logic
        #this will be overwritten on next pass of for loop
        final = pd.DataFrame(data)
        #write to file with appended index- avoids file being overwritten on next pass
        final.to_csv("output_%d.csv" % n)

Теперь все ваши кадры данных будут сохранены в форме output_x.csv. Т.е. если найдены три файла, вы увидите следующие файлы: output_1.csv, output_2.csv, output_3.csv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...