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内置函数dir详解
Apr 14 Python
python自带的http模块详解
Nov 06 Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 Python
Python交互环境下实现输入代码
Jun 22 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 Python
Python通过socketserver处理多个链接
Mar 18 Python
Django使用Profile扩展User模块方式
May 14 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 Python
Python基础之函数嵌套知识总结
May 23 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函数
2006/12/06 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
2015/03/04 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
朴素贝叶斯算法的python实现方法
2014/11/18 Python
python机器学习库常用汇总
2017/11/15 Python
详解python单元测试框架unittest
2018/07/02 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
用Python制作音乐海报
2021/01/26 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
PHP面试题-$message和$$message的区别
2015/12/08 面试题
数控技校生自我鉴定
2014/04/19 职场文书
丧事答谢词大全
2015/09/30 职场文书