Pyodide 无法将 xlsx 文件读入 pandas
Pyodide unable to read xlsx files into pandas
我正在尝试使用 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,并且 pd.read_excel('filename.xlsx') 在我手动将有效的 xlsx 文件放入内存时工作。所以这不是问题。
感谢您的帮助。
所以,我仍然不确定为什么直接 read_excel 或 Excelfile 函数不起作用(特别是因为它们只是调用 openpyxl),但我能够通过打开文件来让它工作使用 openpyxl 然后将其转换为数据框。工作代码如下:
response = await fetch('${fileUrl}')
js_buffer = await response.arrayBuffer()
wb = openpyxl.load_workbook(BytesIO(js_buffer.to_py()), data_only = True)
ws = wb.worksheets[0]
excel_data = ws.values
columns = next(excel_data)[0:]
dFrame = pd.DataFrame(excel_data , columns=columns)
我正在尝试使用 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,并且 pd.read_excel('filename.xlsx') 在我手动将有效的 xlsx 文件放入内存时工作。所以这不是问题。
感谢您的帮助。
所以,我仍然不确定为什么直接 read_excel 或 Excelfile 函数不起作用(特别是因为它们只是调用 openpyxl),但我能够通过打开文件来让它工作使用 openpyxl 然后将其转换为数据框。工作代码如下:
response = await fetch('${fileUrl}')
js_buffer = await response.arrayBuffer()
wb = openpyxl.load_workbook(BytesIO(js_buffer.to_py()), data_only = True)
ws = wb.worksheets[0]
excel_data = ws.values
columns = next(excel_data)[0:]
dFrame = pd.DataFrame(excel_data , columns=columns)