我必须在python中每10分钟阅读一次.xlsx文件
最有效的方法是什么?
我尝试过使用xlrd,但它没有读取.xlsx - 根据他所做的文档,但我不能这样做 - 获得Unsupported format, or corrupt file
例外。
阅读xlsx的最佳方法是什么?
我也需要在单元格中阅读评论。
答案 0 :(得分:7)
xlrd尚未发布尚未读取xlsx的版本。在那之前,Eric Gazoni构建了一个名为openpyxl的包 - 读取xlsx文件,并对它们进行了有限的写作。
答案 1 :(得分:1)
使用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)
答案 2 :(得分:0)
有multiple ways to read XLSX formatted files using python。两个如下图所示,要求您至少安装 openpyxl,如果您想直接解析为熊猫,则需要安装熊猫,例如。 pip install pandas openpyxl
选项 1:熊猫直接
主要用例:仅加载数据以进行进一步处理。
在 pandas 中使用 read_excel() 函数将是您的最佳选择。请注意,pandas 应该自动回退到 openpyxl,但如果出现格式问题,最好直接指定引擎。
df_pd = pd.read_excel("path/file_name.xlsx", engine="openpyxl")
选项 2 - openpyxl 直接
主要用例:获取或编辑特定的 Excel 文档元素,例如注释(OP 请求)、格式属性或公式。
使用 load_workbook() 然后使用 comment attribute 为每个单元格提取评论将通过以下方式实现。
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