使用pandas

时间:2016-08-29 19:19:04

标签: python csv pandas dataframe python-requests

使用请求我正在创建一个.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)

4 个答案:

答案 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())