python 三种方法实现对Excel表格的读写


Posted in Python onNovember 19, 2020

1、使用xlrd模块读取数据

# 将excel表格内容导入到tables列表中
def import_excel(tab):
 # 创建一个空列表,存储Excel的数据
 tables = []
 for rown in range(1, tab.nrows):
 array = {'设备名称': '', '框': '', '槽': '', '端口': '', 'onuid': '', '认证密码': '', 'load': '', 'checkcode': ''}
 array['设备名称'] = tab.cell_value(rown, 0)
 array['框'] = tab.cell_value(rown, 1)
 array['槽'] = tab.cell_value(rown, 2)
 array['端口'] = tab.cell_value(rown, 3)
 array['onuid'] = tab.cell_value(rown, 4)
 array['认证密码'] = tab.cell_value(rown, 9)
 array['load'] = tab.cell_value(rown, 10)
 array['checkcode'] = tab.cell_value(rown, 11)
 tables.append(array)
 return tables
# 导入需要读取Excel表格的路径
data = xlrd.open_workbook(r'G:\\test.xlsx')
table = data.sheets()[0]
for i in import_excel(table):
 print(i)

2、使用xlwt和openpyxl进行写出

import pandas as pd
# 要事先下载好xlwt和openpyxl模块
def export_excel(tab):
 # 将字典列表转换为DataFrame
 pf = pd.DataFrame(list(tab))
 # 指定字段顺序
 order = ['设备名称', '框', '槽', '端口', 'onuid', '认证密码', 'load', 'checkcode']
 pf = pf[order]
 # 将列名替换为中文
 columns_map = {
 '设备名称': '设备名称',
 '框': '框',
 '槽': '槽',
 '端口': '端口',
 'onuid': 'onuid',
 '认证密码': '认证密码',
 'load': 'load',
 'checkcode': 'checkcode'
 }
 pf.rename(columns=columns_map, inplace=True)
 # 指定生成的Excel表格路径
 file_path = pd.ExcelWriter('G:\\test1.xlsx')
 # 替换空单元格
 pf.fillna(' ', inplace=True)
 # 输出
 pf.to_excel(file_path, encoding='utf-8', index=False)
 # 保存表格
 file_path.save()
export_excel(tables)

3、使用xlsxwriter写出

def export_excel(data, fileName): # xlsxwriter库储存数据到excel
 workbook = xw.Workbook(fileName) # 创建工作簿
 worksheet1 = workbook.add_worksheet("sheet1") # 创建子表
 worksheet1.activate() # 激活表
 title = ['设备名称', '框', '槽', '端口', 'onuid', '认证密码', 'load', 'checkcode'] # 设置表头
 worksheet1.write_row('A1', title) # 从A1单元格开始写入表头
 i = 2 # 从第二行开始写入数据
 for j in range(len(data)):
 insertData = [data[j]["设备名称"], data[j]["框"], data[j]["槽"], data[j]["端口"], data[j]["onuid"], data[j]["认证密码"],
   data[j]["load"], data[j]["checkcode"]]
 row = 'A' + str(i)
 worksheet1.write_row(row, insertData)
 i += 1
 workbook.close() # 关闭表

 export_excel(import_excel(table), "G:\\test1.xlsx")

网上有人说第三种写入速度快,本人亲测貌似没啥其区别,根据个人爱好写吧,但是xlsxwriter模块只能写入,无法修改貌似

以上就是python 三种方法实现对Excle表格的读写的详细内容,更多关于python excle表格的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用python编写脚本获取手机当前应用apk的信息
Jul 21 Python
Python中optparse模块使用浅析
Jan 01 Python
利用Python的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
Python中的ceil()方法使用教程
May 14 Python
Python 对象中的数据类型
May 13 Python
简单了解python模块概念
Jan 11 Python
Python解决走迷宫问题算法示例
Jul 27 Python
浅谈pycharm的xmx和xms设置方法
Dec 03 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
Mar 19 Python
快速创建python 虚拟环境
Nov 28 Python
python中的random模块和相关函数详解
Apr 22 Python
基于python模拟bfs和dfs代码实例
Nov 19 #Python
Python 多进程、多线程效率对比
Nov 19 #Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 #Python
Pytorch实验常用代码段汇总
Nov 19 #Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 #Python
python基于pygame实现飞机大作战小游戏
Nov 19 #Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 #Python
You might like
PHP 替换模板变量实现步骤
2009/08/24 PHP
php 获取全局变量的代码
2011/04/21 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
vue组件间通信解析
2017/03/01 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
深入理解python中的atexit模块
2017/03/07 Python
Flask框架配置与调试操作示例
2018/07/23 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
详解Python yaml模块
2020/09/23 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
会计实习自我鉴定
2013/12/04 职场文书
管道维修工岗位职责
2013/12/27 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
财务部会计岗位职责
2015/02/03 职场文书
应聘教师求职信范文
2015/03/20 职场文书
公司表扬信格式
2015/05/04 职场文书
个人求职意向书
2015/05/11 职场文书
可怜妈妈观后感
2015/06/09 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL