亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 Python 列表逐行寫入 csv 文件

將 Python 列表逐行寫入 csv 文件

莫回無 2023-08-08 16:00:54
我有一個這樣的清單[[1.75], [4.75]][[2.5], [2.5]][[3.5], [3.5]][[4.0], [4.0]]我想將其寫入 csv 文件,例如1.75, 4.752.5, 2.53.5, 3.54.0, 4.0當我嘗試使用模塊writerows方法時csv,它被保存為1.754.752.52.53.53.54.04.0
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

您需要將每一行解壓到一個平面列表中。


import csv


my_list = [

    [[1.75], [4.75]],

    [[2.5], [2.5]],

    [[3.5], [3.5]],

    [[4.0], [4.0]],

    ]


with open("my.csv", "w") as f:

    writer = csv.writer(f)


    for row in my_list:

        writer.writerow([l[0] for l in row])

或者,如果愿意,for可以用生成器表達式替換循環,以便您可以writerows像當前一樣使用:


    writer.writerows([l[0] for l in row] for row in my_list)


查看完整回答
反對 回復 2023-08-08
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

這是一個可能的解決方案:


import csv


lst = [[[1.75], [4.75]],

       [[2.5], [2.5]],

       [[3.5], [3.5]],

       [[4.0], [4.0]]]


with open('file.csv', 'w') as f:

    writer = csv.writer(f)

    w.writerows([[x[0] for x in lst] for line in lst])

或者,您可以使用以下方法來扁平化您的列表itertools.chain:


from itertools import chain

...

w.writerows([list(chain(*line)) for line in lst])


查看完整回答
反對 回復 2023-08-08
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號