我想使用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)
看看这个答案: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)