Python学习_几种存取xls/xlsx文件的方法总结


Posted in Python onMay 03, 2018

想在深度学习程序运行时动态存下来一些参数。

存成Excel文件查看方便,就查了几种方法,做个测试。因为我平常也不怎么用 Excel,简单的存取数据就够了。

xlwt/xlrd库 存Excel文件:(如果存储数据中有字符,那么写法还有点小小的变化)

import xlwt 
 
workbook = xlwt.Workbook(encoding='utf-8') 
booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True) 
#存第一行cell(1,1)和cell(1,2) 
booksheet.write(0,0,34) 
booksheet.write(0,1,38) 
#存第二行cell(2,1)和cell(2,2) 
booksheet.write(1,0,36) 
booksheet.write(1,1,39) 
#存一行数据 
rowdata = [43,56] 
for i in range(len(rowdata)): 
 booksheet.write(2,i,rowdata[i]) 
workbook.save('test_xlwt.xls')

Python学习_几种存取xls/xlsx文件的方法总结

读Excel文件:(同样是对于数值类型数据)

import xlrd
workbook = xlrd.open_workbook('D:\\Py_exercise\\test_xlwt.xls')
print(workbook.sheet_names())  #查看所有sheet
booksheet = workbook.sheet_by_index(0) #用索引取第一个sheet
booksheet = workbook.sheet_by_name('Sheet 1') #或用名称取sheet
#读单元格数据
cell_11 = booksheet.cell_value(0,0)
cell_21 = booksheet.cell_value(1,0)
#读一行数据
row_3 = booksheet.row_values(2)
print(cell_11, cell_21, row_3)
>>>34.0 36.0 [43.0, 56.0]

openpyxl 库 存Excel文件:

from openpyxl import Workbook
 
workbook = Workbook()
booksheet = workbook.active #获取当前活跃的sheet,默认是第一个sheet
#存第一行单元格cell(1,1)
booksheet.cell(1,1).value = 6 #这个方法索引从1开始
booksheet.cell("B1").value = 7
#存一行数据
booksheet.append([11,87])
workbook.save("test_openpyxl.xlsx")

Python学习_几种存取xls/xlsx文件的方法总结

读Excel文件:

from openpyxl import load_workbook
 
workbook = load_workbook('D:\\Py_exercise\\test_openpyxl.xlsx')
#booksheet = workbook.active #获取当前活跃的sheet,默认是第一个sheet
sheets = workbook.get_sheet_names() #从名称获取sheet
booksheet = workbook.get_sheet_by_name(sheets[0])
rows = booksheet.rows
columns = booksheet.columns
#迭代所有的行
for row in rows:
 line = [col.value for col in row]
#通过坐标读取值
cell_11 = booksheet.cell('A1').value
cell_11 = booksheet.cell(row=1, column=1).value

原理上其实都一样,就写法上有些差别。

其实如果对存储格式没有要求的话,我觉得存成 csv文件 也挺好的:

import pandas as pd 
 
csv_mat = np.empty((0,2),float) 
csv_mat = np.append(csv_mat, [[43,55]], axis=0) 
csv_mat = np.append(csv_mat, [[65,67]], axis=0) 
csv_pd = pd.DataFrame(csv_mat) 
csv_pd.to_csv("test_pd.csv", sep=',', header=False, index=False)

因为它读起来非常简单:

import pandas as pd 
 
filename = "D:\\Py_exercise\\test_pd.csv" 
csv_data = pd.read_csv(filename, header=None) 
csv_data = np.array(csv_data, dtype=float)

以上这篇Python学习_几种存取xls/xlsx文件的方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
wxpython中利用线程防止假死的实现方法
Aug 11 Python
跟老齐学Python之有点简约的元组
Sep 24 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
Python使用asyncio包处理并发详解
Sep 09 Python
python发送告警邮件脚本
Sep 17 Python
Python 中的lambda函数介绍
Oct 10 Python
Python 脚本获取ES 存储容量的实例
Dec 27 Python
Python之pymysql的使用小结
Jul 01 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
Django实现基于类的分页功能
Oct 31 Python
如何利用pygame实现简单的五子棋游戏
Dec 29 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 #Python
python调用xlsxwriter创建xlsx的方法
May 03 #Python
Python基于opencv的图像压缩算法实例分析
May 03 #Python
python实现数据导出到excel的示例--普通格式
May 03 #Python
python操作xlsx文件的包openpyxl实例
May 03 #Python
对Python字符串中的换行符和制表符介绍
May 03 #Python
pandas数据处理基础之筛选指定行或者指定列的数据
May 03 #Python
You might like
php删除页面记录 同时刷新页面 删除条件用GET方式获得
2012/01/10 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
利用python代码写的12306订票代码
2015/12/20 Python
Python如何为图片添加水印
2016/11/25 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
Django中FilePathField字段的用法
2020/05/21 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
应届毕业生个人求职信范文
2014/01/29 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
行政诉讼答辩状
2015/05/21 职场文书
民事上诉状范文
2015/05/22 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers