我有兩個長度不一樣的list ,我想讓他寫入到同一個CSV 由上到下,並欄位命名為A與B?
以下是實現將兩個長度不同的列表寫入同一個 CSV 文件的完整程式碼,每個列表分別作為 CSV 的一列,並自動填充較短列表的空白欄位為空字串。
示例程式碼
import csv # 範例列表 list_a = [1, 2, 3, 4] list_b = ["a", "b", "c"] # 找到較長列表的長度 max_length = max(len(list_a), len(list_b)) # 填充較短的列表 list_a += [""] * (max_length - len(list_a)) list_b += [""] * (max_length - len(list_b)) # 將兩個列表寫入到同一個 CSV with open("output.csv", "w", newline="", encoding="utf-8") as file: writer = csv.writer(file) # 寫入欄位名稱 writer.writerow(["A", "B"]) # 寫入數據 for a, b in zip(list_a, list_b): writer.writerow([a, b]) print("CSV 文件已成功生成!")
輸出說明
執行程式後會生成一個名為 output.csv
的文件,內容如下:
A | B |
---|---|
1 | a |
2 | b |
3 | c |
4 |
程式邏輯
- 計算最大長度:使用
max()
找到兩個列表中較長的那個長度。 - 填充空白:對較短的列表,用空字串填充 (
""
) 以匹配較長的長度。 - 寫入 CSV:
- 第一行為標題(A 和 B)。
- 使用
zip
遍歷兩個列表並逐行寫入。
你可以根據需要修改列表名稱或欄位標題。
留言板
歡迎留下建議與分享!希望一起交流!感恩!