python 表格存取方法(轉)

xlwt/xlrd庫 存Excel文件:(若是存儲數據中有字符,那麼寫法還有點小小的變化)python

 

[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文件:(一樣是對於數值類型數據)app

 

[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文件:spa

 

 

[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文件:.net

 

 

[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  

原理上其實都同樣,就寫法上有些差異。blog

 

 

其實若是對存儲格式沒有要求的話,我以爲存成 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)  

由於它讀起來很是簡單:ip

 

 

[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)  
相關文章
相關標籤/搜索