【问题标题】:Python: What does this error message mean and why are we getting it?Python:此错误消息是什么意思,我们为什么会收到它?
【发布时间】:2022-12-03 03:45:19
【问题描述】:

我们正在尝试使用 Python 代码创建一个包含嵌套数据的新 Excel 文件。这是供参考的代码:

`import glob
import pandas as pd
import re
import openpyxl

dp = pd.read_excel("UnpredictableDataMerge.xlsx", sheet_name ="Sheet1")
line_numbers = [4, 7]
print("Heey, we read")

dp_max = dp.groupby(['Subject', 'Date & Time', 'Trees Again', 'DifficultyLevel', 'Block', 'UpdatevsNonupdate', 'responsetimerecodeforACC', 'Nonupdate', 'Update'], sort=False).max()
dp_max = dp_max[["Total Training Time"]]
print("This worked. Good start. Yaaaay.s")

dp_max.to_excel('unpredictable_grouped_max_heregoesnothing.xlsx', index=True)
print("This worked. Yaaaay.s")

dp['Signal_Detection2'] = dp.loc[:, 'Signal_Detection']
dp_count = dp.groupby(['Subject', 'Signal_Detection'], sort=False).count()[["Signal_Detection2"]]

dp_count.to_excel('unpredictable_grouped_signal_count_heregoesnothing.xlsx', index=True) 


Unexpected exception formatting exception. Falling back to standard exception
Output exceeds the size limit. Open the full output data in a text editor
Traceback (most recent call last):
  File "C:\Users\mxa210135\AppData\Roaming\Python\Python38\site-packages\IPython\core\interactiveshell.py", line 3433, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-9-853a8bf5b14e>", line 5, in <module>
    dp = pd.read_excel("UnpredictableDataMerge.xlsx", sheet_name ="Sheet1")`

上面的代码是我们已经尝试过的,并且它以前工作过。我们只添加了“Trees Again”变量和“UpdatevsNonupdate”、“responsetimerecodeforACC”、“Nonupdate”,最后是“Update”。 如果需要更多信息,请告诉我,我会很乐意提供。

我们尝试将大文件分成两半并在两者上运行代码,但它不起作用并给了我们相同的错误消息。

【问题讨论】:

标签: python excel database output data-analysis


【解决方案1】:

该错误消息表明在尝试使用 pd.read_excel 函数读取 Excel 文件时发生异常。最可能的错误原因是在当前工作目录中找不到文件"UnpredictableDataMerge.xlsx"

您可以通过运行以下代码来检查当前工作目录:

import os
print(os.getcwd())

这将打印当前工作目录,这是 Python 正在查找文件的目录。确保文件 "UnpredictableDataMerge.xlsx" 位于当前工作目录中,或者在 pd.read_excel 函数中提供文件的完整路径。

错误的另一个可能原因是:

  • 文件已在另一个程序(如 Excel)中打开,并被锁定以供编辑。在这种情况下,您可以尝试在 Excel 中关闭文件,然后再次运行代码。
  • Excel 文件中不存在工作表"Sheet1"。确保工作表名称拼写正确,并且存在于文件中。您也可以尝试省略 sheet_name 参数以默认读取文件中的第一张工作表。
  • 没有足够的可用内存来读取 Excel 文件。确保您有足够的可用内存来读取文件。您可以尝试关闭其他程序以释放内存,或增加 Python 环境可用的内存量。

如果这些建议都不能解决问题,请提供完整的错误消息和回溯,以及您使用的 pandas 和 openpyxl 的版本。您可以通过运行pd.__version__ 来检查 pandas 的版本,通过运行openpyxl.__version__ 来检查 openpyxl 的版本。此外,请提供有关“UnpredictableDataMerge.xlsx”文件的更多信息,例如其大小、行数和列数、其中包含的数据类型,以及您使用的 pandas 和 openpyxl 的版本。这将有助于缩小错误的可能原因。

【讨论】:

    【解决方案2】:

    我之前遇到过大型数据集。尝试安装 lxml,因为 openpyxl 将自动检测是否安装了该库。请务必将它安装到您正在使用的正确解释器上。

    py -m pip install lxml
    

    或者:

    将数据转换为 CSV 文件并使用pd.read_csv()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多