python - 如何将随机值添加到 csv 文件的列中?
问题描述
我想使用 python 在预填充的 csv 文件中附加一列,其中包含 300 万行。然后,我想用 (1, 50) 范围内的随机值填充该列。像这样的东西:
输入csv文件,
意识旅行量
25 1 30
30 2 35
输出csv文件,
认知行程量大小
25 1 30 49
30 2 35 20
我怎样才能做到这一点?我写的代码如下:
使用 open('2019-01-1.csv', 'r') 作为 CSVIN:使用 open('2019-01-2.csv', 'w') 作为
CSV 输出:
CSVWrite = csv.writer(CSVOUT, lineterminator='\n') CSVRead =
csv.reader(CSVIN)
CSVWrite = 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 Add string to each line in a file
我发现使用with
文件比导入 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)
推荐阅读
- c# - 企业库中等效的用户定义 SQL 类型
- android - Android Speech to Text Api Google - 通知
- android - 如何在 android 按钮的字符串文本中添加“\n”?
- postgresql - 如何合并表上的行并更新 postgres 上的联结表
- c# - C# SQLite 数据库锁定异常
- google-apps-script - 如何遍历行以检查 Google Apps 脚本中的值
- php - 如何验证“使用 Apple 登录”的代码?
- amazon-web-services - 是否可以以这种方式集成 AWS Codepipeline 和 Jenkins?
- excel - ListView 从第二列填充
- python - Python:是否有一个 NumPy 函数在掩码为真时从一个数组中获取,而在掩码为假时从另一个数组中获取?