zoukankan      html  css  js  c++  java
  • python 表格存取方法(转)

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

    [python] view plain copy
     
    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] view plain copy
     
    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] view plain copy
     
    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] view plain copy
     
    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] view plain copy
     
    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] view plain copy
     
      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)  
  • 相关阅读:
    i.MX6UL: i.MX 6UltraLite处理器
    温控产品解决方案
    原子层沉积(ALD)和化学气相沉积(CVD)微电子制造铜金属化的研究进展
    camera数字降噪(DNR)
    光刻机技术领地
    晶圆代工解决方案
    Camera噪声问题
    camera中LENS和SENSOR的CRA是如何搭配的?
    Camera Lens Coating
    (转)唐家三少--写书赚钱还是太少了
  • 原文地址:https://www.cnblogs.com/ouyangping/p/8514364.html
Copyright © 2011-2022 走看看