[英]Read Excel file with pandas from url reponse
我正在尋找如何使用 pandas 讀取 xlsx 文件,該文件托管在 SharePoint 上。 這些內容,當通過reponse.text 顯示時,是字符串,但是是文件的二進制表示。
PK╚╝。 #h�╔�╔ �═ �╔[Content_Types].xml ��╔(� ╗ ��[O�@��M�;����1��G% {���;Z�E� ��������I{��5�╗"j���"╚W�J�I,^_Z�"CR�R�?(�P��g��U̸�a?�D�FJ ?�`�>�㕱�V,Ɖ �����}%K��������Pv���k'#�Dv��W� �B0�T�F��U ? -?�*_�-K�"� �dM�fb|═"�BndF0x�3UE�Nu���P�lO�Y�ğ#�����,g�K#�} ����E=�tD�U�}���O�Q�[��F�|Ix��╚���[H2{�H+╚x�k�]dn�a�╔yZ “N�jͺ�”ih�s�Gn�<j�╚
我想知道如何將這種格式讀入 memory 以便我可以用它調用 pd.read_excel 。
我嘗試以這種方式使用 urllib 和 openpyxl:
import openpyxl as excel
import pandas as pd
from io import BytesIO
import urllib
req = urllib.request.Request(url=url, data=payload, headers=headers)
with urllib.request.urlopen(url=req) as reponse:
rsp = reponse.read()
excel.load_workbook(filename=rsp)
但是我從 urllib 請求模塊收到錯誤 400 Bad Request。
url 看起來像這樣:
我找到了一種方法。 關鍵是在將文件傳遞給 pandas 之前回溯。
file_ext = self.file_name.split('.')[-1]
if file_ext == 'xlsx':
import pandas as pd
from io import BytesIO
xl = bytes(memoryview(response.content))
memfile =BytesIO()
memfile.write(xl)
memfile.seek(0)
df = pd.io.excel.read_excel(memfile, engine='openpyxl')
print(df.head(10))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.