使用请求我正在创建一个.csv格式的对象。然后我怎么能用pandas将该对象写入DataFrame?
以文本格式获取请求对象:
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)
答案 0 :(得分:17)
试试这个
import requests
import pandas as pd
import io
urlData = requests.get(url).content
rawData = pd.read_csv(io.StringIO(urlData.decode('utf-8')))
答案 1 :(得分:5)
我认为您可以read_csv
使用url
:
pd.read_csv(url)
filepath_or_buffer :str,pathlib.Path,py._path.local.LocalPath或任何带有read()方法的对象(例如文件句柄或StringIO)
字符串可以是URL。有效的URL方案包括http,ftp,s3和file。对于文件URL,需要主机。例如,本地文件可以是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)
答案 2 :(得分:1)
如果网址没有身份验证,那么您可以直接使用read_csv(网址)
如果您有身份验证,可以使用请求将其取消并打印csv并确保结果为CSV并使用panda。
您可以直接使用导入 import csv
答案 3 :(得分:1)
使用“带有url的read_csv”有效:
import requests, csv
import pandas as pd
url = 'https://arte.folha.uol.com.br/ciencia/2020/coronavirus/csv/mundo/dados-bra.csv'
corona_bra = pd.read_csv(url)
print(corona_bra.head())