使用pandas将文本数据从requests对象转换为dataframe

2024-05-17 16:33:23 发布

您现在位置:Python中文网/ 问答频道 /正文

使用请求,我正在创建一个.csv格式的对象。然后我如何用pandas将该对象写入数据帧?

要以文本格式获取请求对象,请执行以下操作:

import requests
import pandas as pd
url = r'http://test.url' 
r = requests.get(url)
r.text  #this will return the data as text in csv format

我试过(不起作用):

pd.read_csv(r.text)
pd.DataFrame.from_csv(r.text)

Tags: csv数据对象文本格式texttestimporthttp
3条回答

我想你可以用^{}url

pd.read_csv(url)

filepath_or_buffer : str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)

The string could be a URL. Valid URL schemes include http, ftp, s3, and file. For file URLs, a host is expected. For instance, a local file could be file ://localhost/path/to/table.csv

如果不起作用,请尝试:

import pandas as pd
import io
import requests

url = r'http://...' 
r = requests.get(url)  
df = pd.read_csv(io.StringIO(r))

如果url没有身份验证,则可以直接使用read_csv(url)

如果您有身份验证,您可以使用request来取消pickel并打印csv,确保结果是csv并使用panda。

您可以直接使用导入 导入csv

试试这个

import requests
import pandas as pd
import io

urlData = requests.get(url).content
rawData = pd.read_csv(io.StringIO(urlData.decode('utf-8')))

相关问题 更多 >