博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 表格存取方法(转)
阅读量:5257 次
发布时间:2019-06-14

本文共 2177 字,大约阅读时间需要 7 分钟。

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

 

[python] 
 
 
  1. import xlwt  
  2.   
  3. workbook = xlwt.Workbook(encoding='utf-8')  
  4. booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)  
  5. #存第一行cell(1,1)和cell(1,2)  
  6. booksheet.write(0,0,34)  
  7. booksheet.write(0,1,38)  
  8. #存第二行cell(2,1)和cell(2,2)  
  9. booksheet.write(1,0,36)  
  10. booksheet.write(1,1,39)  
  11. #存一行数据  
  12. rowdata = [43,56]  
  13. for i in range(len(rowdata)):  
  14.     booksheet.write(2,i,rowdata[i])  
  15. workbook.save('test_xlwt.xls')  

 

读Excel文件:(同样是对于数值类型数据)

 

[python] 
 
 
  1. import xlrd  
  2.   
  3. workbook = xlrd.open_workbook('D:\\Py_exercise\\test_xlwt.xls')  
  4. print(workbook.sheet_names())                  #查看所有sheet  
  5. booksheet = workbook.sheet_by_index(0)         #用索引取第一个sheet  
  6. booksheet = workbook.sheet_by_name('Sheet 1')  #或用名称取sheet  
  7. #读单元格数据  
  8. cell_11 = booksheet.cell_value(0,0)  
  9. cell_21 = booksheet.cell_value(1,0)  
  10. #读一行数据  
  11. row_3 = booksheet.row_values(2)  
  12. print(cell_11, cell_21, row_3)  
  13.   
  14. >>>34.0 36.0 [43.0, 56.0]  

openpyxl 库 存Excel文件:

 

 

[python] 
 
 
  1. from openpyxl import Workbook  
  2.    
  3. workbook = Workbook()  
  4. booksheet = workbook.active     #获取当前活跃的sheet,默认是第一个sheet  
  5. #存第一行单元格cell(1,1)  
  6. booksheet.cell(1,1).value = 6   #这个方法索引从1开始  
  7. booksheet.cell("B1").value = 7  
  8. #存一行数据  
  9. booksheet.append([11,87])  
  10. workbook.save("test_openpyxl.xlsx")  

读Excel文件:

 

 

[python] 
 
 
  1. from openpyxl import load_workbook  
  2.    
  3. workbook = load_workbook('D:\\Py_exercise\\test_openpyxl.xlsx')  
  4. #booksheet = workbook.active                #获取当前活跃的sheet,默认是第一个sheet  
  5. sheets = workbook.get_sheet_names()         #从名称获取sheet  
  6. booksheet = workbook.get_sheet_by_name(sheets[0])  
  7.   
  8. rows = booksheet.rows  
  9. columns = booksheet.columns  
  10. #迭代所有的行  
  11. for row in rows:  
  12.     line = [col.value for col in row]  
  13.   
  14. #通过坐标读取值  
  15. cell_11 = booksheet.cell('A1').value  
  16. cell_11 = booksheet.cell(row=1, column=1).value  

原理上其实都一样,就写法上有些差别。

 

 

其实如果对存储格式没有要求的话,我觉得存成 csv文件 也挺好的:

 

[python] 
 
 
  1. import pandas as pd  
  2.   
  3. csv_mat = np.empty((0,2),float)  
  4. csv_mat = np.append(csv_mat, [[43,55]], axis=0)  
  5. csv_mat = np.append(csv_mat, [[65,67]], axis=0)  
  6. csv_pd = pd.DataFrame(csv_mat)  
  7. csv_pd.to_csv("test_pd.csv", sep=',', header=False, index=False)  

因为它读起来非常简单:

 

 

[python] 
 
 
    1. import pandas as pd  
    2.   
    3. filename = "D:\\Py_exercise\\test_pd.csv"  
    4. csv_data = pd.read_csv(filename, header=None)  
    5. csv_data = np.array(csv_data, dtype=float)  

转载于:https://www.cnblogs.com/ouyangping/p/8514364.html

你可能感兴趣的文章
bzero()函数
查看>>
dom节点相关问题
查看>>
【CF 453A】 A. Little Pony and Expected Maximum(期望、快速幂)
查看>>
LINUX下通过外部SMTP发邮件 (直接抛弃sendmail和postfix)
查看>>
Hdoj 1517.A Multiplication Game 题解
查看>>
杂谈:Servlet(2)
查看>>
内联函数 在ios中的运用 --黄仁斌
查看>>
UVa 10305 - Ordering Tasks ( 拓扑排序, DFS, DAG )
查看>>
24. Spring Boot环境变量读取和属性对象的绑定【从零开始学Spring Boot】
查看>>
poj 3259 Wormholes ([kuangbin带你飞]专题四 最短路练习)
查看>>
数据库查询出来的数据放入表格中
查看>>
ajax获取值的两种方法
查看>>
电梯调度实施
查看>>
【POJ】3667 Hotel
查看>>
static 成员变量以及static成员函数
查看>>
Http
查看>>
2017.9.15 mybatis批量插入后实现主键回填
查看>>
如何设置Jquery UI Menu 菜单为横向展示
查看>>
git操作图
查看>>
C++编程思想3-利用C++进行文件操作封装C函数
查看>>