#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