簡體   English   中英

在 python 中讀取.xlsx 格式

[英]Reading .xlsx format in python

我必須在 python 中每 10 分鍾讀取一次.xlsx 文件。
最有效的方法是什么?
我試過使用 xlrd,但它不讀取.xlsx - 根據他所做的文檔,但我不能這樣做 - 獲取Unsupported format, or corrupt file異常。
閱讀 xlsx 的最佳方法是什么?
我也需要閱讀單元格中的評論。

xlrd 尚未發布讀取 xlsx 的版本。 在那之前, Eric Gazoni構建了一個名為 openpyxl 的package - 讀取 xlsx 文件,並對其進行有限的寫入。

使用 Openpyxl 的一些基本示例:

import openpyxl

# Open Workbook
wb = openpyxl.load_workbook(filename='example.xlsx', data_only=True)

# Get All Sheets
a_sheet_names = wb.get_sheet_names()
print(a_sheet_names)

# Get Sheet Object by names
o_sheet = wb.get_sheet_by_name("Sheet1")
print(o_sheet)

# Get Cell Values
o_cell = o_sheet['A1']
print(o_cell.value)

o_cell = o_sheet.cell(row=2, column=1)
print(o_cell.value)

o_cell = o_sheet['H1']
print(o_cell.value)

# Sheet Maximum filled Rows and columns
print(o_sheet.max_row)
print(o_sheet.max_column)

多種方法可以使用 python 讀取 XLSX 格式的文件 下面說明了兩個,要求您至少安裝 openpyxl,如果您想直接解析為 pandas,您需要安裝 pandas,例如。 pip install pandas openpyxl

選項 1:pandas 直接

主要用例:僅加載數據以進行進一步處理。

在 pandas 中使用read_excel() function 將是您的最佳選擇。 請注意,pandas 應該自動回退到 openpyxl,但如果出現格式問題,最好直接指定引擎。

df_pd = pd.read_excel("path/file_name.xlsx", engine="openpyxl")

選項 2 - openpyxl 直接

主要用例:獲取或編輯特定的 Excel 文檔元素,例如注釋(由 OP 請求)、格式屬性或公式。

使用load_workbook()然后使用每個單元格的注釋屬性提取注釋將通過以下方式實現。

from openpyxl import load_workbook
wb = load_workbook(filename = "path/file_name.xlsx")
ws = wb.active
ws["A1"].comment # <- loop through row & columns to extract all comments

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM