【问题标题】:List to csv- python [duplicate]列出到 csv-python [重复]
【发布时间】:2021-05-11 14:10:24
【问题描述】:

我有一个这样格式的列表:

lista_d = [
    ('1', '2', 1.393063105981541),
    ('1', '6', 1.450829019495749),
    ('1', '16', 1.4508291645112752),
    ('2', '1', 1.393063105981541),
    ('2', '3', 1.4508290090832596),
    ('2', '15', 1.4508291577448584),
    ('3', '2', 1.4508290090832596), 
    ('3', '4', 1.3930630800761916)
]

例如,我需要将此列表转换为带有树列的 csv

1       2      1.393063105981541

列表中的所有项目。

我试过了,但一切都在第一列

with open('dist.csv','w') as f:
    write = csv.writer(f)
    for i in lista_d:
        write.writerow(i)

有人可以帮忙吗?

【问题讨论】:

    标签: python list csv


    【解决方案1】:

    您可以指定csv writer的分隔符:

    with open('dist.csv','w') as f:
        # you can change the delimiter in the csv
        # '\t' mean tabs
        write= csv.writer(f, delimiter='\t')
        for i in lista_d:
            write.writerow(i)
    

    dist.csv:

    1   2   1.393063105981541
    1   6   1.450829019495749
    1   16  1.4508291645112752
    2   1   1.393063105981541
    2   3   1.4508290090832596
    2   15  1.4508291577448584
    3   2   1.4508290090832596
    3   4   1.3930630800761916
    

    【讨论】:

      【解决方案2】:

      在调用csv.writer 时指定分隔符应该可以解决问题。

      with open('dist.csv','w') as f:
          write = csv.writer(f, delimiter=',')
          for i in lista_d:
              write.writerow(i)
      

      【讨论】:

      • 虽然只有代码的答案可能会回答这个问题,但您可以通过为您的代码提供上下文、此代码工作的原因以及一些文档参考以供进一步阅读,从而显着提高您的答案质量.来自How to Answer“简洁是可以接受的,但更全面的解释更好。”
      猜你喜欢
      • 2018-01-09
      • 2020-08-24
      • 2018-02-03
      • 2021-11-23
      • 1970-01-01
      • 2018-09-27
      • 2019-11-09
      • 2022-01-03
      • 2017-07-20
      相关资源
      最近更新 更多