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删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python 通配符删除文件的实例
Apr 24 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
Apr 27 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
更新修改后的Python模块方法
Mar 03 Python
python pandas写入excel文件的方法示例
Jun 25 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
Python  Django 母版和继承解析
Aug 09 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
pandas取dataframe特定行列的实现方法
May 24 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
Node.js实现数据推送
2016/04/14 Javascript
javascript数据类型详解
2017/02/07 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
两道JAVA笔试题
2016/09/14 面试题
什么是servlet链?
2014/07/13 面试题
跟单文员岗位职责
2014/01/03 职场文书
化学教师教学反思
2014/01/17 职场文书
村庄绿化方案
2014/05/07 职场文书
政协委员个人总结
2015/03/03 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
社会实践单位意见
2015/06/05 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android
Java 异步任务计算FutureTask
2022/04/28 Java/Android