因做数学建模比赛,需要打乱训练数据,于是用python写了个简单的小程序,作用就是按行打乱Excel表格。

先说一下需要使用的第三方库openpyxl,Openpyxl是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库,其功能非常强大。Excel表格可以理解为一个二维矩阵,行用1,2,3,4,5.....等表示,在Openpyxl可以用来作为行索引。列用A,B,C,D,E,F.......表示,在Openpyxl中可以用来当做列索引,描述一个单元格的位置需要一个行标、一个列标。如A1表示第一行第一列对应的单元格,E4表示第四行第五列对应的单元格。更多操作方法见https://blog.csdn.net/weixin_43094965/article/details/82226263

效果图

上图原数据,下图打乱后数据

安装openpyxl

pip install openpyxl

大体思路

1. 首先读取Excel表格

#随机按行打乱Excel表格

from openpyxl importWorkbookfrom openpyxl importload_workbookimportrandom#读取文件

wb = load_workbook('data.xlsx')

2. 打开当前工作簿

ws = wb.active

3. 获取行数

ws.max_row

4. 创建一个从1到最大行数的数字列表,并随机打乱列表,

Python生成随机数的原理是梅森旋转算法,感兴趣的可以了解下

numbers = list(range(1, ws.max_row + 1))

random.shuffle(numbers)

5. 遍历列表,根据每次随机数字选取一行,并复制到表格末尾

for i innumbers:

row=ws[i]

r=[]for cell inrow:

r.append(cell.value)

ws.append(r)

6. 删除原数据,保留复制的数据

ws.delete_rows(1, ws.max_row//2)

7.遍历工作簿,对所有工作簿数据都进行打乱

for ws inwb:#执行打乱操作

附上全代码

#随机按行打乱Excel表格

from openpyxl importWorkbookfrom openpyxl importload_workbookimportrandom#读取文件

wb = load_workbook('data.xlsx')#显示工作表数量

print("---该文件共" + str(len(wb.sheetnames)) + "个工作表---")defmain():#打乱所有工作簿

for ws inwb:print("\n---开始打乱工作表[" + str(ws.title) + "]---")#显示行数

print("---行数:" + str(ws.max_row) + '---')

random_data(ws)#文件另存为data_random.xlsx

wb.save('data_random.xlsx')print("\n---文件保存成功---")

word= input("\n按下任意键退出")defrandom_data(ws):"""随机打乱数据"""

print("---正在打乱数据---")

numbers= list(range(1, ws.max_row + 1))#random()函数采用梅森旋转算法生成伪随机数

random.shuffle(numbers)for i innumbers:

row=ws[i]

r=[]for cell inrow:

r.append(cell.value)

ws.append(r)

ws.delete_rows(1, ws.max_row//2)if __name__ == "__main__":

main()

python导入表格数据混乱_Python按行打乱Excel表格数据相关推荐

  1. Python按行打乱Excel表格数据

    因做数学建模比赛,需要打乱训练数据,于是用python写了个简单的小程序,作用就是按行打乱Excel表格. 先说一下需要使用的第三方库openpyxl Openpyxl是一个用于读写Excel 201 ...

  2. (1)今有2018年1月1日—15日的猪肉价格和牛肉价格的数据,它们存在于一个Excel表格中,如下表所示。将其读入Python中并用一个数据框变量df保存......

    目录 (1)今有2018年1月1日-15日的猪肉价格和牛肉价格的数据,它们存在于一个Excel表格中,如下表所示.将其读入Python中并用一个数据框变量df保存. (2)分别绘制1月1日-10日的猪 ...

  3. c 将mysql表数据打印,c 中数据库数据如何导出至excel表格-用sql语句把一个数据库内的表保存成excel表格??...

    如何用JAVA将数据库中的数据导入到excel表格 1.C语言产生ASCII数据文件,使用空格做作为数据分隔符. 2入Excel,选择数据选项卡 / 获部数据工具组 / 自文本按钮 3.进入数据导入框 ...

  4. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

  5. matlab中根据表格数据画图,excel 表格数据画图-如何利用matlab根据excel表格里面的数据画图...

    在matlab上如何导入excel表格然后画图 "在excel中由数据画图,且显示图线的函数"的操作步骤是: 1.以Excel 2016为例,打开Excel工作表: 2.选择数据区 ...

  6. 利用FarPoint Spread表格控件,构造Winform的Excel表格界面输入

    因有一个业务需要在Winform界面中,以类似Excel表格界面中录入相关的数据(毕竟很多时候,客户想利用成熟的软件体验来输入他们想要的东西),其中界面需要录入基础信息,列表信息,图片信息等,综合这些 ...

  7. element ui 表格,通过下载按钮下载生成Excel表格

    element ui 表格,通过下载按钮下载生成Excel表格,内容记录 // 安装插件 xlsx 和 file-saver import XLSX from "xlsx"; im ...

  8. python合并单元格 索引_python笔记:纵向合并表格

    工作中我们常常遇到多个格式相同的表格面要合并成一个表格,比如将2019年的数据与2020年的数据合并在一起来进行分析.平时EXCEL时我们通常直接复制粘贴,但有时因表格内容过大,直接粘贴效率低,且当字 ...

  9. python实操100例乘法表_Python编程快速上手——Excel表格创建乘法表案例分析

    本文实例讲述了Python Excel表格创建乘法表.分享给大家供大家参考,具体如下: 题目如下: 创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中 ...

  10. python word 表格 框线_Python 自动化办公 | 将 Word 表格转为 Excel

    原标题:Python 自动化办公 | 将 Word 表格转为 Excel 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共 ...

最新文章

  1. 爱立信:SDN/NFV助力面向5G以及工业互联网的ICT转型
  2. 百度AI达人创造营之创意的起源
  3. 一次真实的蓝屏分析 ntkrnlmp.exe
  4. html鼠标点击伪类,CSS伪类:CSS3鼠标滑过按钮动画
  5. 组合数学与数论函数专题
  6. matlab 大于并且小于,Matlab:将大于(小于)1(-1)的元素转换为1(-1)的序列
  7. CentOS 6.0 + Zabbix 1.8.5 服务器端安装
  8. Linux的10个经典彩蛋
  9. java字节码查看器_jclasslib 下载
  10. WORD打印出现错误,未定义书签.
  11. vue富文本使用详解
  12. LAPACK使用中出现问题的解决方案(VS平台下的)
  13. 从0-1搭建一个服务器(以前不懂事,现在只想搞钱)
  14. 项目实战2 | 基于Swarm+Prometheus实现双VIP可监控Web高可用集群
  15. python使用pika订阅rabbitmq消息链接被重置问题
  16. python绘制气象等值线图_气象要素场等值线图自动绘制
  17. MIT6.824_2021_学习总结 分布式常见知识点
  18. WIN7,让光驱走开
  19. 计算机教师的名言是,教师的名言
  20. 原生js实现简化版幸运大转盘

热门文章

  1. 【优化求解】基于粒子群算法求解仓库成本控制优化问题含Matlab源码
  2. html5自动换行,html5文字自动换行怎么设置
  3. 高中时代的黑历史产物
  4. Git 团队协作中常用术语 WIP PTAL CC LGTM 等解释
  5. 认知空间是什么意思_什么是认知?
  6. 华硕笔记本触控板设置 Smart Gesture
  7. 体验一命通关 - Java技能树测评
  8. 10个容易被接受的辞职理由
  9. 在线上课中设备突然关机如何关闭直播
  10. 【HDU 5145】 NPY and girls(组合+莫队)