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 相关文章推荐
简单实现python爬虫功能
Dec 31 Python
详解Python网络爬虫功能的基本写法
Jan 28 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
详解python中init方法和随机数方法
Mar 13 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
python APScheduler执行定时任务介绍
Apr 19 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
深入理解PHP中的count函数
2016/05/31 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
python迭代器实例简析
2014/09/25 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
《窗前的气球》教学反思
2014/04/07 职场文书
社团活动总结格式
2014/08/29 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
个人租房协议书范本
2014/09/30 职场文书
安阳殷墟导游词
2015/02/10 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android