如何转换';io.BufferedWriter';至';数据帧';-python

如何转换';io.BufferedWriter';至';数据帧';-python,python,python-3.x,dataframe,bufferedwriter,Python,Python 3.x,Dataframe,Bufferedwriter,我使用以下代码从一个驱动器下载文件: 如果response.status_code==200: 打印('\n>响应成功') 以open('Book2.xlsx','wb')作为文件: File.write(response.content) 打印('\n>下载的文件') 其他: 打印('\n>失败:',响应。状态\代码) 打印(response.content) 代码来自: “文件”来自一个驱动器,使用以下代码: 导入系统、操作系统、时间、请求 作为pd进口熊猫 导入urllib.pars

我使用以下代码从一个驱动器下载文件:


如果response.status_code==200:
打印('\n>响应成功')
以open('Book2.xlsx','wb')作为文件:
File.write(response.content)
打印('\n>下载的文件')
其他:
打印('\n>失败:',响应。状态\代码)
打印(response.content)
代码来自:

“文件”来自一个驱动器,使用以下代码:


导入系统、操作系统、时间、请求
作为pd进口熊猫
导入urllib.parse
OneDrive_文件路径='Book2.xlsx'
OneDrive_FileURL='1!'https://graph.microsoft.com/v1.0/me/drive/root:/“+OneDrive_文件路径+”:/content”
OneDrive_FileURL=urllib.parse.quote(OneDrive_FileURL,safe=':/)
打印(OneDrive\u文件URL)
客户端Id='XXXX'
租户Id='yyyy'
刷新令牌优先='ZZZZZ'
PostStr={'grant_type':'refresh_token','client_id':client_id','refresh_token':refresh_token_First}
Token\u Response=requests.post('https://login.microsoftonline.com/“+Tenant_Id+”/oauth2/v2.0/token',data=PostStr)
Access\u Token=Token\u Response.json()['Access\u Token']
New_Refresh_Token=Token_Response.json()['Refresh_Token']
如果Access\u Token为None或New\u Refresh\u Token为None:
打印('\n>失败:未检索到访问\u令牌')
sys.exit()
Response=requests.get(OneDrive\u FileURL,headers={'Authorization':'Bearer'+Access\u Token})
正在下载的“文件”格式为“io.BufferedWriter”。我想实际加载“文件”作为数据帧,以便我可以对其执行某些操作并将其上载到AWS

我该怎么做,请帮忙


谢谢

如评论中所述,
文件的类型
基本上是不相关的。您只需直接从响应中读取excel,如下所示:

url = "https://go.microsoft.com/fwlink/?LinkID=521962"
res = requests.get(url)
pd.read_excel(res.content)

最后一条语句生成一个常规数据帧。你可以随意使用它。

你能提供一个包含这种文件的URL,这样你就可以对它进行实验吗?另外,请包括实际创建“文件”的代码。@Roy2012-我编辑了这篇文章,并添加了用于从一个驱动器访问“文件”的代码。希望这有帮助,这是我下载“文件”时使用的唯一代码。我没有访问令牌,因此无法运行您的代码。如果我理解正确,“文件”只是一个Excel文件,您想读入数据框吗?这就是问题所在吗?@Roy2012-是的,它是一个Excel文件,位于一个驱动器中,但当以当前访问方式访问该文件时,它会变为“io.BufferedWriter”类型。我想把它改成dataframe,或者首先把它读成dataframe。谢谢