提问者:小点点

如何将随机值添加到csv文件的列中?


我想使用python在预先填充的csv文件中添加一列,其中包含300万行。然后,我想用(1,50)范围内的随机值填充列。大概是这样的:

输入csv文件,

意识行程金额

25 1 30

30 2 35

输出csv文件,

意识行程量大小

25 1 30 49

30 2 35 20

我该怎么做?我写的代码如下:

打开('2019-01-1.csv','r')作为CSVIN:打开('2019-01-2.csv','w')作为CSVIN

CSVOUT:

CSVWrite=csv.writer(CSVOUT,lineterminator='\n')CSVRead=

csv.reader(CSVIN)

CSV↑=csv.writer(CSVOUT,lineterminator='\n')

    CSVRead = csv.reader(CSVIN)

    NewDict = []

    row = next(CSVRead)

    row.append('Size')

    NewDict.append(row)

    print(NewDict.append(row))

    for row in CSVRead:

        randSize = np.random.randint(1, 50)

        row.append(row[0])

        NewDict.append(row)

    CSVWrite.writerows(NewDict) 

共1个答案

匿名用户

看看这个答案:Python将字符串添加到文件中的每一行

我发现对文件使用比导入csv或其他特殊文件类型库要容易得多,除非我的用例非常具体
因此,在您的情况下,它将类似于:

input_file_name = "2019-01-1.csv"
output_file_name = "2019-01-2.csv"
with open(input_file_name, 'r') as f:
    file_lines = [''.join([x, ",Size,{}".format(random.randint(1, 50)), '\n']) for x in f.readlines()]

with open(output_file_name, 'w') as f:
    f.writelines(file_lines)