python表格存取的方法

yipeiwu_com5年前Python基础

本文实例为大家分享了python表格存取的具体代码,供大家参考,具体内容如下

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设计】。

相关文章

python二进制读写及特殊码同步实现详解

python对二进制文件的操作需要使用bytes类,直接写入整数是不行的,如果试图使用f.write(123)向文件中以二进制写入123,结果提示参数不是bytes类型。 impor...

python 定义给定初值或长度的list方法

python 定义给定初值或长度的list方法

1. 给定初值v,和长度l,定义list s 或者: 2. 产生一个数值递增list 2.1 从0开始以1递增 2.2 在[a,b)区间上以1递增 2.3 在[a,b)区间上以c...

Python数据结构与算法之使用队列解决小猫钓鱼问题

Python数据结构与算法之使用队列解决小猫钓鱼问题

本文实例讲述了Python数据结构与算法之使用队列解决小猫钓鱼问题。分享给大家供大家参考,具体如下: 按照《啊哈》里的思路实现这道题目,但是和结果不一样,我自己用一幅牌试了一下,发现是我...

Ubuntu下升级 python3.7.1流程备忘(推荐)

Ubuntu下升级 python3.7.1流程备忘(推荐)

下载源码 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 解压源码 tar -xvzf Python-3.7....

python获取代码运行时间的实例代码

有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。 import time start =time.clock() #中间写上代...