web-dev-qa-db-ja.com

pandasを使用してテキストオブジェクトをリクエストオブジェクトからデータフレームに変換します

リクエストを使用して、.csv形式のオブジェクトを作成しています。その後、パンダでそのオブジェクトを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)
10
sparrow

これを試して

import requests
import pandas as pd
import io

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

read_csv with url

pd.read_csv(url)

filepath_or_buffer:str、pathlib.Path、py._path.local.LocalPath、またはread()メソッドを持つ任意のオブジェクト(ファイルハンドルやStringIOなど) )

文字列はURLである可能性があります。有効なURLスキームには、http、ftp、s3、およびfileが含まれます。ファイルURLの場合、ホストが必要です。たとえば、ローカルファイルはファイル://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) 
5
jezrael

uRLに認証がない場合は、read_csv(url)を直接使用できます

認証がある場合は、リクエストを使用してピクルを解除し、csvを印刷して、結果がCSVであることを確認し、pandaを使用できます。

Import import csvを直接使用できます

1
rkoots