python - 使用 Python 随机播放 csv 文件的所有行

标签 python csv random shuffle

我有一个包含数据的输入 csv 文件:

a   15
b   14
c   20
d   45

我想生成一个不同的 csv 文件,该文件将包含来自输​​入文件的完整数据行,但应打乱行。

像输出文件可能包含值-

b 14
a 15
c 20
d 45 

我试过这段代码:

import random
import sys
op=open('random.csv','w+')
ip=open(sys.argv[1],'r')
data=ip.read()
data1=str(random.choices(data))
op.write(data1)
op.close()

最佳答案

另一个使用 pandas 的镜头。您可以阅读您的 .csv 文件:

df = pd.read_csv('yourfile.csv', header=None)

然后使用 df.sample 打乱你的行。这将返回数据框的随机样本,其中的行已打乱。使用 frac=1 您将整个集合视为样本:

In [18]: df
Out[18]: 
   0   1
0  a  15
1  b  14
2  c  20
3  d  45

In [19]: ds = df.sample(frac=1)

In [20]: ds
Out[20]: 
   0   1
1  b  14
3  d  45
0  a  15
2  c  20

如果您需要再次保存新的随机文件,您可以:

ds.to_csv('newfile.csv')

关于python - 使用 Python 随机播放 csv 文件的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438591/

相关文章:

php - array_rand 是否使用 Mersenne Twister 算法?

python - FastAPI SQLAlchemy 无法将字典更新序列元素 #0 转换为序列

python - 将 python 日历插入 tkinter 标签

python - 代码 : Code isn't working to sort through a list of 1 million integers, 打印前 10

linux - 如何获得一系列文件中具有最大差异的两个文件

algorithm - 数学、圆、内点和密度

python - 从字符串列表中删除整数

php - 在 MySQL 中导入和处理文本文件

MySQL Workbench 数据导入向导未显示 CSV 中的所有列

c# - 为什么这个随机数生成器不是随机的?