Python学习_几种存取xls/xlsx文件的方法总结

yipeiwu_com5年前Python基础

想在深度学习程序运行时动态存下来一些参数。

存成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') 

读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")

读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中XlsxWriter模块简介与用法分析

Python中XlsxWriter模块简介与用法分析

本文实例讲述了Python中XlsxWriter模块用法。分享给大家供大家参考,具体如下: XlsxWriter,可以生成excel文件(xlsx的哦),然后很重要的一点就是,它不仅仅只...

Python实现的多线程端口扫描工具分享

Python实现的多线程端口扫描工具分享

昨晚今晚写了两晚,总算把Py Port Scanner 写完了,姑且称之为0.1版本,算是一个Python多线程端口扫描工具。 水平有限,实话中间有一些困惑和不解的地方,代码可能也写的比...

Python切图九宫格的实现方法

Python切图九宫格的实现方法

本文介绍了Python切图九宫格的实现方法,分享给大家,具体如下 # -*- coding: utf-8 -*- ''' 将一张图片填充为正方形后切为9张图 ''' from PI...

Python简单获取自身外网IP的方法

本文实例讲述了Python简单获取自身外网IP的方法。分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2016-03-...

Python基于递归算法求最小公倍数和最大公约数示例

本文实例讲述了Python基于递归算法求最小公倍数和最大公约数。分享给大家供大家参考,具体如下: # 最小公倍数 def lcm(a, b, c=1): if a * c % b...