python-通过向每行添加字符来编辑csv

python-通过向每行添加字符来编辑csv,python,Python,我已将此数据集保存在.csv文件中: 对于每一行,如果数字小于我需要添加的51?直到那排有51个字符。例如,在第一行我有19,3,12,所以我必须加48?有这样一行:19,3,12、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 在第二行我只有一个数字,所以我必须加上50?,其他行也是一样。你能帮我吗 编辑:我尝试过这个,但没有成功,它只是在某些行中添加了“”: import

我已将此数据集保存在.csv文件中:

对于每一行,如果数字小于我需要添加的51?直到那排有51个字符。例如,在第一行我有19,3,12,所以我必须加48?有这样一行:
19,3,12、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
在第二行我只有一个数字,所以我必须加上50?,其他行也是一样。你能帮我吗

编辑:我尝试过这个,但没有成功,它只是在某些行中添加了“”:

import pandas as pd
df = pd.read_csv('output.csv', sep=';')
df = df.fillna('?')
df.to_csv('sorted2.csv', index=False)

使用pandas在中读取文件并设置所需的列数。下面的代码读入一个文件并分配n列。默认情况下,额外元素的值为np.nan

df.read_csv('file', names=range(n))
如果希望它们具有不同的值,可以使用

df.fillna(value, inplace = True)
然后,您可以将数据帧写回文件,它将具有您想要的形状

df.to_csv('file')

如果您愿意,您可以只通过文本文件操作来完成,对于这个简单的情况,不需要使用pandas或csv模块

import csv
with open('source.csv') as f:
    with open('result.csv', 'w') as fw:
        for line in f:
            line = line.strip() + (',?' * (50 - line.count(',')))
            fw.write(line + '\n')   

你的意思是列,不是字符,对吗?你能发布你尝试过的代码吗?不管怎样,你做这件事的方式与你对CSV文件做任何事情的方式相同。使用打开输入文件上的读取器和输出文件上的写入器。然后,只需在reader:
中的行上循环
,将行扩展到长度51,并将其写入写入写入器。或者,如果要使用Pandas,它会自动填充缺少的列,您可以指定要使用的缺少的值,或者在读取后将其从
NaN
转换。如果您的代码没有引发异常,错误的
sep
意味着您读取了一个巨大的列,然后在每行追加50个
列。但是如果你同时解决了这两个问题,那么……对不起,我的意思是关于列,我应该有51列,而不是51行!我添加了我第一次尝试的代码post@Nicola我的答案有一个输入错误,我已经修正了,我的代码将有51列。此外,在添加的代码中,您使用的是
sep=“;”
,但您的csv文件使用的是
sep=“,”
,这是读取csv的默认值
import csv
with open('source.csv') as f:
    with open('result.csv', 'w') as fw:
        for line in f:
            line = line.strip() + (',?' * (50 - line.count(',')))
            fw.write(line + '\n')