【问题标题】:Python Writing Rows and Cols to ExcelPython 将行和列写入 Excel
【发布时间】:2017-09-15 13:38:59
【问题描述】:

我正在尝试将数据写入 excel,其中每个列表都位于不同的列中。到目前为止,我已经能够将数据放入 csv 文件的不同列中,但是当我在 excel 中打开它时,它会将所有数据写入同一列。到目前为止我所拥有的:

import csv

list1 = [1,2,3,4,5,6]
list2 = ['a','b','c','d','e','f']
list3 = ['G','H','I','J','K','L']


b = open('lists.csv','a')
a = csv.writer(b)

rows = zip(list1,list2,list3)


for row in rows:
    print(row)
    a.writerow([row])

b.close()

当前结果:

预期结果:

【问题讨论】:

    标签: excel python-3.x csv


    【解决方案1】:

    row 已经是一个元组,因此您不必将其放入列表中,只需编写 a.writerow(row)。

    另外两个小技巧:用with语句打开文件,文件会自动关闭。

    打开文件时,传递newline='' 以避免出现空行。

    import csv
    
    list1 = [1,2,3,4,5,6]
    list2 = ['a','b','c','d','e','f']
    list3 = ['G','H','I','J','K','L']
    
    with open('lists.csv', 'a', newline='') as csv_file:
        writer = csv.writer(csv_file)
        for row in zip(list1, list2, list3):
            writer.writerow(row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多