2016-08-09 51 views
0

我有兩個保存在兩個值中的列表。這些看起來像:Python 3.5 |分割列表並將其轉換爲csv

project_titles = ['T1', 'T2', 'T3'] 
project_loc = ['L1', 'L2', 'L3'] 

實際我寫這段代碼的值到CSV:

with open('data.csv', 'w') as f: 
    csv.writer(f).writerow(project_titles) 

當打開CSV到Excel我得到:

  • 單元格A1 = T1
  • 小區B1 = T2
  • 小區C1 = T3

那很好,但我需要CSV導出之後的以下結果:

  • 細胞A1 = T1;小區B1 = L1
  • 小區A2 = T2;單元格B2 = L2
  • 單元格A3 = T3;單元B3 = L3

你有什麼想法嗎?

+0

保持對它的引用'csv.writer(F)'和'打電話writerow在那個參考上,這樣你就可以多次調用它。你可以像'your_writer.writerow(project_titles)'那樣做'然後'your_writer.writerow(project_loc)' –

回答

3

你可以使用zip()從兩個或多個列表彙總元素,然後用csvwriter.writerows()寫結果行到文件:

with open('data.csv', 'w') as f: 
    writer = csv.writer(f) 
    writer.writerows(zip(project_titles, project_loc)) 
+0

這段代碼適用於兩個變量。這次真是萬分感謝。但我有五個變量,需要每行中的每個變量的第一個值。我認爲這個「對」不起作用。你有其他想法嗎? –

+0

@Sebastian:您可以將相同的想法應用於任意數量的列表,因爲zip()可以採用任意數量的迭代。儘管使用'writerows()'而不是'writerow()'可能更容易。 –