python - 从 CSV 中随机选择行并重复 X 次
问题描述
我是 Python 新手,并创建了一个脚本,该脚本从具有两列的 csv 中挑选出随机行。但它只从每一列中随机抽取一次。这是我的代码:
import csv
import random
with open('Sheettwo.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
chosen_row = random.choice(list(csv_reader))
paraone = (chosen_row[1])
paratwo = (chosen_row[2])
print(f'{paraone}\n{paratwo}\n')
我需要重复此 X 次,因此(例如)随机选择 4 个值(每列两个)。我怎么做?
解决方案
更好的方法是首先将数据存储在列表中,然后从中选择值。
import csv
import random
with open('Sheettwo.csv', 'r') as csv_file:
lines = [tuple(line) for line in csv.reader(csv_file)]
n = 4 # number of row you want to pick elements from
chosen_rows = random.choices(lines, k=n)
# pick n rows in the list
chosen_values = [random.choice(row) for row in chosen_rows]
# pick a value from each row
print('\n'.join(chosen_values))
我希望它会有用...
推荐阅读
- python - db.execute(更新表)不适用于 Python
- authentication - Identity Server 4 与 IBM Security Access Manager 集成 - CallbackPath
- charts - 为什么谷歌图表的工具提示在特定情况下不能完全工作?
- python - 将由空格分隔的 cmd 行输出解析为分组的键值对
- reactjs - 如何在反应中显示数组中的产品信息?
- sql - “InvalidCastException:无法在 .net core 3.1 中转换类型为“Microsoft.SqlServer.Types.SqlHierarchyId”的对象
- azure - 从所有订阅的恢复保管库获取所有 Azure 备份
- c++ - 运行时错误:有符号整数溢出:2 * 2147483647 不能用“int”类型表示
- html - 如何在 HTML 中将屏幕分成 20/80 或 30/70 的两半?
- amazon-cloudformation - 如何在 Amazon EventBridge / Amazon CloudWatch 中监控 Cloudformation 事件?