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实现巡检系统(solaris)示例
Apr 02 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python 文件处理注意事项总结
Apr 10 Python
Python实现登录接口的示例代码
Jul 21 Python
python实现windows下文件备份脚本
May 27 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
django多对多表的创建,级联删除及手动创建第三张表
Jul 25 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
Python matplotlib实时画图案例
Apr 23 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
十个Python自动化常用操作,即拿即用
May 10 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反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
JavaScript 常用函数
2009/12/30 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
用Python编写一个国际象棋AI程序
2014/11/28 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
Python判断字符串与大小写转换
2015/06/08 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
keras K.function获取某层的输出操作
2020/06/29 Python
Delphi工程师笔试题
2013/09/21 面试题
小班上学期评语
2014/05/05 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
高三毕业评语
2014/12/31 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
婚宴来宾致辞
2015/07/28 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫