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复制目录结构脚本代码分享
Mar 06 Python
详解Python中的正则表达式的用法
Apr 09 Python
python编程培训 python培训靠谱吗
Jan 17 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
Python 中如何写注释
Aug 28 Python
python使用隐式循环快速求和的实现示例
Sep 11 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 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限制ip地址范围的方法
2015/03/31 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
javascript的BOM汇总
2015/07/16 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
jQuery实现带进度条的轮播图
2020/09/13 jQuery
python自动安装pip
2014/04/24 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
Python流程控制语句的深入讲解
2020/06/15 Python
TensorFlow保存TensorBoard图像操作
2020/06/23 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
服务型党组织建设典型材料
2014/05/07 职场文书
公司出纳岗位职责
2015/03/31 职场文书
九年级历史教学反思
2016/02/19 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
redis实现的四种常见限流策略
2021/06/18 Redis
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
Python闭包的定义和使用方法
2022/04/11 Python