2016-08-16 3 views
1

Я написал этот список понимание экспортировать панда фреймов данных в CSV-файлы (каждый кадр данные записываются в отдельный файл):Экспортного список панд dataframes в CSV со списком пониманием

[v.to_csv(str(k)+'.csv') for k,v in df_dict.items()]

Панда данные Фреймы - это значения словаря, в котором ключи будут частью имен файлов CSV. Таким образом, в коде выше v представлены фреймы данных, а k - это строки, к которым привязаны кадры данных.

Коллега сказал, что использование списков не является хорошей идеей для записи на выходные файлы. Почему это так? Более того, он сказал, что использование цикла for для этого будет более надежным. Если это правда, почему это так?

+0

Я думаю, что это не проблема, используя 'список comprehension' для зацикливания, писать файлы by 'to_csv' и согласитесь, что он более надежный. – jezrael

+0

Вы не знаете, что понимает список. Вам необходимо прочитать [документацию] (https://docs.python.org/3.5/tutorial/datastructures.html#list-comprehensions). Перечисление списков - это способ создания списков, а не записи файлов. Вам нужен правильный цикл, чтобы делать то, что вы делаете. Ваш коллега прав. – Kartik

+0

Спасибо вам за ваши комментарии. – ropolo

ответ

1

Коллега сказал, что использование списков не является хорошей идеей для записи на выходные файлы. Почему это так?

описаний списки, как правило, более производительные и читаемые, чем for петель при построении списка (то есть, используя append для создания списка с for циклом).

В других случаях, как и ваш, цикл for предпочтительнее, если вы хотите «побочный эффект» итерации.

Кроме того, он сказал, что использование петли для этого будет более надежным. Если это правда, почему это так?

for цикл более читаемым и отношение к данному прецеденту, имхо, и поэтому следует отдать предпочтение:

for k,v in df_dict.items(): 
    v.to_csv(str(k)+'.csv') 
+0

Спасибо за ваш ответ. Это понятно и точно. – ropolo

+0

Мое удовольствие! Спасибо @ropolo – Daniel

Смежные вопросы