【发布时间】:2021-11-15 16:47:24
【问题描述】:
我正在尝试使用 pyodide 加载 xlsx 文件。我能够使用以下代码正确加载 xls 文件:
response = await fetch('${fileUrl}')
js_buffer = await response.arrayBuffer()
dFrame = pd.read_excel(BytesIO(js_buffer.to_py()))
但是,当我尝试传递 xlsx 文件时它失败了。我不确定是什么原因造成的。以下是我在测试后已经剔除的潜在问题:
- “openpyxl”未正确加载 - 我使用 micropip 加载 openpyxl,当我手动将有效的 xlsx 文件放入内存时 pd.read_excel('filename.xlsx') 工作。所以这不是问题。
感谢您的帮助。
【问题讨论】:
-
你的意思是当你将文件的URL直接传递给
pd.read_excel? -
两者都不起作用。传递 URL,或者传递上面的函数。即使传递远程在线 URL 也不起作用。
-
你知道失败的地方吗?该文件被下载并可以在 pyodide 文件系统中看到?然后检查openpyxl的版本可能吗?
-
它在加载文件的最后一步失败,尽管我能够直接使用 openpyxl 加载文件,然后将其转换为可以工作的数据框。在下面添加了解决方案。
标签: javascript node.js webassembly pyodide