Сохранение каждого фрейма данных из списка в отдельные файлы CSV

#python #pandas #export-to-csv

#python #pandas #экспорт в csv

Вопрос:

Я пытаюсь сохранить каждый элемент из списка в каждый отдельный файл CSV. каждый элемент является фреймом данных.

Я использовал следующие коды, однако проблема в том, что файлы, которые он сохраняет, относятся только к первому или последнему элементу списка из двух следующих кодов соответственно. например, все выходные файлы идентичны

 for x in allcity:
    for a in range(0,20):
        x.to_csv('msd{}.csv'.format(a))

for a in range(0,20):
    for x in allcity:
        x.to_csv('msd{}.csv'.format(a))
  

Ответ №1:

IIUC, я думаю, вам нужно:

 for a, x in enumerate(allcity):
        x.to_csv('msd{}.csv'.format(a))
  

Ответ №2:

Проблема в том, что вложенный цикл запишет последний фрейм данных из allcity списка в диапазон значений в обоих случаях. У вас есть два варианта:

 counter = 0
for x in allcity:
    x.to_csv('msd{}.csv'.format(counter)
    counter  = 1
  

или

 for (counter, x) in enumerate(allcity):
    x.to_csv('msd{}.csv'.format(counter)
  

Ответ №3:

Попробуйте f-strings, это самый простой ответ здесь

 counter = 0
for x in allcity:
    x.to_csv(f'msd{counter}.csv')
    counter  = 1