Python中幾種存取xls/xlsx檔案的方法總結

來源:互聯網
上載者:User
這篇文章主要介紹了關於Python學習_幾種存取xls/xlsx檔案的方法總結,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

想在深度學習程式運行時動態存下來一些參數。

存成Excel檔案查看方便,就查了幾種方法,做個測試。因為我平常也不怎麼用 Excel,簡單的存取資料就夠了。

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 xlrdworkbook = xlrd.open_workbook('D:\\Py_exercise\\test_xlwt.xls')print(workbook.sheet_names())  #查看所有sheetbooksheet = workbook.sheet_by_index(0) #用索引取第一個sheetbooksheet = 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,預設是第一個sheetsheets = workbook.get_sheet_names() #從名稱擷取sheetbooksheet = workbook.get_sheet_by_name(sheets[0])rows = booksheet.rowscolumns = booksheet.columns#迭代所有的行for row in rows: line = [col.value for col in row]#通過座標讀取值cell_11 = booksheet.cell('A1').valuecell_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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.