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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
python原始套接字编程示例分享
Feb 21 Python
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
python如何通过实例方法名字调用方法
Mar 21 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
python发送告警邮件脚本
Sep 17 Python
python实现月食效果实例代码
Jun 18 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
Dec 07 Python
Python中tkinter的用户登录管理的实现
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
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP7新增函数
2021/03/09 PHP
一些常用的Javascript函数
2006/12/22 Javascript
ArrayList类(增强版)
2007/04/04 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
javascript中数组的定义及使用实例
2015/01/21 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
跟老齐学Python之总结参数的传递
2014/10/10 Python
python正则表达式面试题解答
2020/04/28 Python
python可以用哪些数据库
2020/06/22 Python
大学四年规划书范文
2013/12/27 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
个人收入证明范本
2014/09/18 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL