2017-12-27 2 views
-1

Ich versuche, Währungspaare aus der poloniex-API mithilfe von Python-Pandas zu extrahieren.Extrahieren von Daten/Zeichenfolge aus der Pandas-DF-Spalte

Ich glaube, dass die zurückgegebenen Daten ist alles nur ein einziger Spaltenname:

Columns: [{"BTC_BCN":{"BTC":"479.74697466", "BCN":"1087153595.32266165"}, "BTC_BELA":{"BTC":"32.92293515", "BELA":"1807337.13247948"}, "BTC_BLK":{"BTC":"25.70374054", "BLK":"606717.86348734"}, "BTC_BTCD":{"BTC":"24.32220571", "BTCD":"1264.02352237"}, "BTC_BTM":{"BTC":"11.57816905", "BTM":"80673.47934437"}, "BTC_BTS":{"BTC":"1102.88787610", "BTS":"30426626.64558044"} 

Das Ergebnis Ich mag: BTC_BCN, BTC_BELA, BTC_BLK, etc ...

aber nicht wirklich sicher, ob es eine einfache Art und Weise zu bekommen dies ohne String-Parsing, da sie alle scheinbar nur Spaltennamen sind.

Code:

from bs4 import BeautifulSoup 
import csv 
import urllib2 
import pandas as pd 
try: 
    from StringIO import StringIO 
except: 
    from io import StringIO 



sock= urllib2.urlopen('https://poloniex.com/public?command=return24hVolume') 
link=sock.read() 
soup = BeautifulSoup(link,'lxml') 
csv_data = StringIO(soup.text) 

df=pd.read_csv(csv_data,delimiter=' *, *',engine='python') 
df2=df.iloc[1:2,0:20] 
+1

zu Spaltennamen erhalten Sie tun können, 'Liste (df.columns)' – furas

+0

Liste (df.keys()) scheint zu funktionieren. –

Antwort

0

Sie brauchen nicht BeautifulSoup hier überhaupt nicht. Der Inhalt der Webseite ist JSON - analysieren es mit .read_json() direkt:

df = pd.read_json('https://poloniex.com/public?command=return24hVolume')