python表格存取的方法

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

相关文章

浅谈Pandas Series 和 Numpy array中的相同点

相同点: 可以利用中括号获取元素 s[0] 可以的得到单个元素 或 一个元素切片 s[3,7] 可以遍历 for x in s 可以调用同样的函数获取最大最小值 s.mean() &nb...

django2 快速安装指南分享

1. 安装 作为一个 Python Web 框架,Django需要Python的支持。请参阅 我可以在Django中使用哪些Python版本?了解详情。Python包含一个名为SQLit...

基于numpy中数组元素的切片复制方法

代码1: #!/usr/bin/python import numpy as np arr1 = np.arange(10) print(arr1) slice_data...

Python yield 小结和实例

一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,直到对其调用 next()(在 for...

在SQLite-Python中实现返回、查询中文字段的方法

博主在这个问题上卡了挺久的,贴出来解决方法帮助需要的朋友,直接上代码(测试环境:win10+Python2.7): # coding=utf-8 import sqlite3...