python - NAME 公式中的间接引用过多

标签 python excel pandas xlrd

我正在尝试使用 pandas 在 python 中读取“xls”文件。我的代码基本上是单行的:

import pandas as pd
df = pd.read_excel(str("/test/test_file.xls"))
此代码适用于大多数文件,但在某些情况下它会因错误而失败:
Excessive indirect references in NAME formula
到目前为止我尝试了什么:
  • 尝试在发生异常的 Pandas 包本身中将堆栈限制( panic 和警告)更改为 10000。遇到递归限制,因此将其提高到 125000,这导致我的 Mac/Python 达到其限制,所以我猜这不是正确的解决方案。
  • 使用内存密集型 EMR 来查看它是否可以读取文件 - 不。
  • 查看 XLRD 的 GitHub 存储库 here提出一个错误只是为了发现它不支持。
  • 打开文件,将其保存为 xlsx,使用相同的代码将其读入数据帧。像魅力一样工作。
  • 尝试使用 Spark Excel Library读取数据的特定部分 - 这也有效,但我需要使用 Pandas 。
  • 谷歌搜索它只是为了找出结果会向我显示定义异常的 XLRD 代码。没有人举报。
  • 尝试将 Python2 和 Python3 与最新和旧版本的 Pandas 一起使用 - 没用。

  • 我无法共享文件,但以前有人遇到过这个问题吗?有人可以帮忙吗?欢迎所有建议!

    最佳答案

    尝试以下操作:

  • 打开xls文件
  • 将所有单元格复制/粘贴为值
  • 重新运行您的脚本

  • 如果无法访问文件以准确解释正在发生的事情,很难提供进一步的帮助。
    但是很可能 xlrd 正在尝试解决公式的值并且超出了“STACK_PANIC_LEVEL”。没有看到公式,很难说更多。

    关于python - NAME 公式中的间接引用过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63235375/

    相关文章:

    python - 为什么在 JsonResponse 中使用非 dict 对象不好?

    python - 将列表列表从 Python 传递到 C 作为 uint64_t 矩阵

    python - 如何找到以 <!-- 开头的 HTML 注释的第一个实例? (Python)

    vba - 在VBA中搜索范围并替换包含特定字符串的单元格内容

    python - 为列表中的元素过滤 Pandas DataFrame

    python - 使用两个变量优化 cumprod()

    python - 在目录中搜索 shapefile

    Excel:合并两个不太匹配的日期列

    vba - 如何修改Excel VBA、用户窗体中的日期格式

    python - 从 pandas 数据框中提取多列的组合