首页 > 解决方案 > 在 csv 文件中按列追加元素

问题描述

我想将数组导出到 csv 文件,但是对于三列中的每一列,number1 number2 number3每个元素都按行存储。

我得到的是:

number1,number2,number3

[0 1 2 3],[10 8 9 2],[3 4 5 3]

我需要的是:

number1,number2,number3

0,10,3
1,8,4
2,9,5
3,2,3

代码:

with open('names.csv', 'w') as csvfile:
    fieldnames = ['number1', 'number2', 'number3']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows({'number1': number1, 'number2': number2, 'number3': number3})

我尝试转置数组,但没有帮助。

谢谢!

标签: pythonpandascsv

解决方案


试试这个,zip用来组合数字

import csv

with open('names.csv', 'w') as csvfile:
    fieldnames = ['number1', 'number2', 'number3']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()

    number1, number2, number3 = [0, 1, 2, 3], [10, 8, 9, 2], [3, 4, 5, 3]
    
    for i, j, k in zip(number1, number2, number3):
        writer.writerow({'number1': i, 'number2': j, 'number3': k})

推荐阅读