Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法在csv文件的每一行中添加不同数量的列?_Python_Csv - Fatal编程技术网

Python 有没有办法在csv文件的每一行中添加不同数量的列?

Python 有没有办法在csv文件的每一行中添加不同数量的列?,python,csv,Python,Csv,我试图使用python在CSV文件的每一行中添加不同数量的列 例如: 有没有办法做到这一点?有一种方法,您可以直接将它们写入csv a = [[1, 2, 3], ['', 2, 3] with open('file.csv', 'w') as f: for line in a: output = ','.join(line) f.write( output ) 希望这有帮助。这说明了我在评论中关于为缺少的列提供空值的意思。它使用a来写入行 impor

我试图使用python在CSV文件的每一行中添加不同数量的列

例如:


有没有办法做到这一点?

有一种方法,您可以直接将它们写入csv

a = [[1, 2, 3], ['', 2, 3]
with open('file.csv', 'w') as f:
    for line in a:
        output = ','.join(line)
        f.write( output )

希望这有帮助。

这说明了我在评论中关于为缺少的列提供空值的意思。它使用a来写入行

import csv

filename = 'varying_rows.csv'

with open(filename, 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['name', 'gender', 'age', 'website1', 'link1'])
    writer.writerow([None]*3 + ['website2', 'link2'])
    writer.writerow([None]*4 +  ['link3'])
结果文件:

您还可以通过使用一个替代选项来获得相同的结果,该选项只允许省略空列:

filename = 'varying_rows2.csv'
with open(filename, 'w', newline='') as file:
    col_names = 'ABCDE'  # Works like ['A', 'B', 'C', 'D', 'E'].
    writer = csv.DictWriter(file, col_names)
    writer.writerow(dict(A='name', B='gender', C='age', D='website1', E='link1'))
    writer.writerow(dict(D='website2', E='link2'))
    writer.writerow(dict(E='link3'))

你到底想怎么做?请添加您的代码并解释什么不起作用。是的,在某种意义上,通过在没有值的地方输入空列值。