python表格存取的方法

时间:2022-05-10 19:09:06

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

xlwt/xlrd库 存Excel文件:(如果存储数据中有字符,那么写法还有点小小的变化)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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文件:(同样是对于数值类型数据)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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文件:

?
1
2
3
4
5
6
7
8
9
10
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文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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文件 也挺好的:

?
1
2
3
4
5
6
7
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)

因为它读起来非常简单:

?
1
2
3
4
5
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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/ouyangping/p/8514364.html