我必須列出
a = [1,2,3,4]
b = [[2,3,4,5],[2,4,3,9], [9,4,6,8], [7,3,8,5]]
我已將其寫入一個帶有分隔符作為制表符的 csv 檔案。現在我不想將嵌套串列設為 [2,3,4,5],而只有元素 2,3,4,5。我不知道如何擺脫串列括號。
這是我的代碼:
with open('output.csv', 'w', encoding="ISO-8859-1", newline='') as myfile:
wr = csv.writer(myfile, delimiter='\t')
wr.writerows(zip(a,b))
我的代碼的輸出:
1 [2, 3, 4, 5]
2 [2, 4, 3, 9]
3 [9, 4, 6, 8]
4 [7, 3, 8, 5]
但我想擁有
1 2, 3, 4, 5
2 2, 4, 3, 9
3 9, 4, 6, 8
4 7, 3, 8, 5
謝謝!
uj5u.com熱心網友回復:
第二列是str()串列的默認值。您可以將第二列格式化為自定義字串以獲得您想要的內容:
import csv
a = [1,2,3,4]
b = [[2,3,4,5],[2,4,3,9], [9,4,6,8], [7,3,8,5]]
with open('output.csv', 'w', encoding="ISO-8859-1", newline='') as myfile:
wr = csv.writer(myfile, delimiter='\t')
for col1,col2 in zip(a, b):
str_col2 = ', '.join([str(n) for n in col2])
wr.writerow([col1, str_col2])
輸出:
1 2, 3, 4, 5
2 2, 4, 3, 9
3 9, 4, 6, 8
4 7, 3, 8, 5
uj5u.com熱心網友回復:
不確定您是否能夠僅使用zip. 我會做類似以下的事情,以展平每一個輸出線zip(a, b):
flattened = []
for ab in zip(a, b):
flattened.append([ab[0]] ab[1])
wr.writerows(flattened)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/487370.html
