【问题标题】:Openpyxl: 'Worksheet' object has no attribute 'values'Openpyxl:“工作表”对象没有属性“值”
【发布时间】:2017-07-12 20:57:10
【问题描述】:

我的目标是读入一个 excel 文件并查看 pandas 数据框(即“= A3”)中的代码,而不是从执行代码的 excel 中得到的结果值,如果使用 pandas 读入,这是 pandas 的默认值。

这里描述了我的目标:How can I see the formulas of an excel spreadsheet in pandas / python?

Openpyxl 应该支持这一点,但我无法让导入正常运行。有人发现错误吗?

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

df = pd.DataFrame()
wb = load_workbook(filename = 'name.xlsx')
sheet_names = wb.get_sheet_names()
name = sheet_names[0]
sheet_ranges = wb[name]
df = pd.DataFrame(sheet_ranges.values)

> AttributeError: 'Worksheet' object has no attribute 'values'

(注意:链接问题的答案的确切实现产生KeyError: 'Worksheet range names does not exist.'我上面的代码解决了这个问题,但随后卡住了。)

【问题讨论】:

  • 链接的答案使用.value 而不是.values
  • .value 产生相同的错误。
  • 您在工作表而不是单元格上调用 .value。尝试使用iter_rows()

标签: python excel python-3.x pandas openpyxl


【解决方案1】:

检查你的openpyxl版本,你好像有旧版本。

openpyxl 2.4.2

import openpyxl
print(openpyxl.__version__)

工作表的 Values 属性仅来自 2.4.0-a1 (2016-04-11)

【讨论】:

    猜你喜欢
    • 2019-10-22
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多