2016-08-16 34 views
1

我寫了這個列表解析大熊貓數據幀導出爲CSV文件(每個數據幀被寫入到不同的文件)到csv框架是字典的值,其中鍵將是CSV文件名稱的一部分。所以在v之上的代碼是數據幀,而k是數據幀映射到的字符串。出口清單,清單理解

一位同事表示,使用列表解析不是寫入輸出文件的好主意。爲什麼會這樣?此外,他說爲此使用for循環會更可靠。如果屬實,那爲什麼如此呢?

+0

我認爲這是使用'名單comprehension'的循環沒有問題,你寫的文件通過'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循環是更具可讀性和相關的用於該用途的情況下,恕我直言,因此應首選:

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

感謝您的回答。這點很明確。 – ropolo

+0

我的榮幸!謝謝@ropolo – Daniel