python导入表格数据混乱_Python按行打乱Excel表格数据
因做数学建模比赛,需要打乱训练数据,于是用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表格数据相关推荐
- Python按行打乱Excel表格数据
因做数学建模比赛,需要打乱训练数据,于是用python写了个简单的小程序,作用就是按行打乱Excel表格. 先说一下需要使用的第三方库openpyxl Openpyxl是一个用于读写Excel 201 ...
- (1)今有2018年1月1日—15日的猪肉价格和牛肉价格的数据,它们存在于一个Excel表格中,如下表所示。将其读入Python中并用一个数据框变量df保存......
目录 (1)今有2018年1月1日-15日的猪肉价格和牛肉价格的数据,它们存在于一个Excel表格中,如下表所示.将其读入Python中并用一个数据框变量df保存. (2)分别绘制1月1日-10日的猪 ...
- c 将mysql表数据打印,c 中数据库数据如何导出至excel表格-用sql语句把一个数据库内的表保存成excel表格??...
如何用JAVA将数据库中的数据导入到excel表格 1.C语言产生ASCII数据文件,使用空格做作为数据分隔符. 2入Excel,选择数据选项卡 / 获部数据工具组 / 自文本按钮 3.进入数据导入框 ...
- java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...
Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...
- matlab中根据表格数据画图,excel 表格数据画图-如何利用matlab根据excel表格里面的数据画图...
在matlab上如何导入excel表格然后画图 "在excel中由数据画图,且显示图线的函数"的操作步骤是: 1.以Excel 2016为例,打开Excel工作表: 2.选择数据区 ...
- 利用FarPoint Spread表格控件,构造Winform的Excel表格界面输入
因有一个业务需要在Winform界面中,以类似Excel表格界面中录入相关的数据(毕竟很多时候,客户想利用成熟的软件体验来输入他们想要的东西),其中界面需要录入基础信息,列表信息,图片信息等,综合这些 ...
- element ui 表格,通过下载按钮下载生成Excel表格
element ui 表格,通过下载按钮下载生成Excel表格,内容记录 // 安装插件 xlsx 和 file-saver import XLSX from "xlsx"; im ...
- python合并单元格 索引_python笔记:纵向合并表格
工作中我们常常遇到多个格式相同的表格面要合并成一个表格,比如将2019年的数据与2020年的数据合并在一起来进行分析.平时EXCEL时我们通常直接复制粘贴,但有时因表格内容过大,直接粘贴效率低,且当字 ...
- python实操100例乘法表_Python编程快速上手——Excel表格创建乘法表案例分析
本文实例讲述了Python Excel表格创建乘法表.分享给大家供大家参考,具体如下: 题目如下: 创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中 ...
- python word 表格 框线_Python 自动化办公 | 将 Word 表格转为 Excel
原标题:Python 自动化办公 | 将 Word 表格转为 Excel 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共 ...
最新文章
- 爱立信:SDN/NFV助力面向5G以及工业互联网的ICT转型
- 百度AI达人创造营之创意的起源
- 一次真实的蓝屏分析 ntkrnlmp.exe
- html鼠标点击伪类,CSS伪类:CSS3鼠标滑过按钮动画
- 组合数学与数论函数专题
- matlab 大于并且小于,Matlab:将大于(小于)1(-1)的元素转换为1(-1)的序列
- CentOS 6.0 + Zabbix 1.8.5 服务器端安装
- Linux的10个经典彩蛋
- java字节码查看器_jclasslib 下载
- WORD打印出现错误,未定义书签.
- vue富文本使用详解
- LAPACK使用中出现问题的解决方案(VS平台下的)
- 从0-1搭建一个服务器(以前不懂事,现在只想搞钱)
- 项目实战2 | 基于Swarm+Prometheus实现双VIP可监控Web高可用集群
- python使用pika订阅rabbitmq消息链接被重置问题
- python绘制气象等值线图_气象要素场等值线图自动绘制
- MIT6.824_2021_学习总结 分布式常见知识点
- WIN7,让光驱走开
- 计算机教师的名言是,教师的名言
- 原生js实现简化版幸运大转盘