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正则表达式介绍
Aug 06 Python
python使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
python简单判断序列是否为空的方法
Jun 30 Python
python生成IP段的方法
Jul 07 Python
python黑魔法之参数传递
Feb 12 Python
Python实现网站注册验证码生成类
Jun 08 Python
python实现图片筛选程序
Oct 24 Python
Python命名空间的本质和加载顺序
Dec 17 Python
如何通过Python实现标签云算法
Jul 02 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
第十一节 重载 [11]
2006/10/09 PHP
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
详解vue组件基础
2018/05/04 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
Vue中props的详解
2019/05/16 Javascript
layui实现数据表格table分页功能(ajax异步)
2019/07/27 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python获取网页状态码示例
2014/03/30 Python
Python脚本实现代码行数统计代码分享
2015/03/10 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
python实现定时提取实时日志程序
2018/06/22 Python
python 实现简单的FTP程序
2019/12/27 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
运动会广播稿30字
2014/01/21 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书