我有兩個長度不一樣的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遍歷兩個列表並逐行寫入。
你可以根據需要修改列表名稱或欄位標題。

留言板
歡迎留下建議與分享!希望一起交流!感恩!