2016-08-29 19 views
5

İstekleri kullanarak .csv biçiminde bir nesne oluşturuyorum. Bu nesneyi pandalarla bir DataFrame'e nasıl yazabilirim?Metin nesnelerini istek nesnelerinden pandalarla veri çerçevesine dönüştürme

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 
denedim

(çalışmıyor):

istekleri metin biçiminde nesne almak için

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

verileri görmeden yanıtlamaya çalışın ithalat csv ithal kullanabilirsiniz. – shivsn

+0

Yanıt verilerini bir dosyaya kaydetmeniz ve dosya içeriğini kontrol etmeniz gerekebilir. Ardından dosyayı csv'ye okuyun, bu yaklaşımın işe yarayıp yaramadığını kontrol edin. Aksi halde, size veri sağlayan bazı veriler göndermediğiniz sürece, – Shijo

+1

http://stackoverflow.com/questions/32400867/pandas-read-csv-from-url/32401251#32401251 numaralı telefondan veri yanlıştır. içeriğe erişmek için –

cevap

8

bu zor

import requests 
import pandas as pd 
import io 

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

Kullanabileceğin düşünüyorum read_csvurl ile:

pd.read_csv(url) 

filepath_or_buffer: str, pathlib.Path, py._path.local.LocalPath veya read() yöntemiyle herhangi bir nesne (bir dosya tanıtıcısı veya StringIO gibi)

Dize bir URL olabilir. Geçerli URL şemaları arasında http, ftp, s3 ve dosya bulunur. Dosya URL'leri için bir ana makine bekleniyor. Örneğin, yerel bir dosya dosya olabilir: //localhost/path/to/table.csv

, işe yaramazsa, şunları deneyin: url sonra hiçbir onaylamayı

import pandas as pd 
import io 
import requests 

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

eğer yapabilirsiniz read_csv (url)

'u doğrudan doğruya kullanırsanız, isteğinizi iptal edip csv'yi almayı ve sonucun CSV olduğundan emin olup panda kullanmasını sağlayabilirsiniz.

doğrudan

İlgili konular