2016-07-06 4 views
0

Новичок для Python.Данные о кустах в Pandas Кадр данных

Как сохранить данные из улья в рамку данных Pandas.

with pyhs2.connect(host, port=20000,authMechanism="PLAIN",user,password, 
       database) as conn: 
    with conn.cursor() as cur: 
     #Show databases 
     print cur.getDatabases() 

     #Execute query 
     cur.execute(query) 

     #Return column info from query 
     print cur.getSchema() 

     #Fetch table results 
     for i in cur.fetch(): 
      print i 
     **columnNames = [a['columnName'] for a in cur.getSchema()] 
     print columnNames 
     df1=pd.DataFrame(cur.fetch(),columnNames)** 

Пробовал использовать имена столбцов. Не работает.

Pls. что-то предложить.

+0

'Не Work.' вряд ли можно считать описание хорошая ошибка :) – cel

+0

Я думаю, что Блейз правильный инструмент для этого - я еще не работал с ним. Это может быть интересно прочитать для вас: http://blaze.pydata.org/blog/2015/09/16/reddit-impala/ – cel

+0

Спасибо .. Cel за то, что указали это. в любом случае проблема решена сейчас. :) –

ответ

0

Как я уже делал данные раньше и пытался снова получить, так же получал пустой Data Frame.

cur.execute(query) 
val=cur.fetchall() 
columnNames = [a['columnName'] for a in cur.getSchema()] 
df=pd.DataFrame(data=val,columns=columnNames) 
#print df 
return df 
3

Вы можете попробовать это: (я уверен, что он будет работать)

res = cur.getSchema() 
description = list(col['columnName'] for col in res) ## for getting the column names of the table 

headers = [x.split(".")[1] for x in description] # for splitting the list if the column name contains a period 

df= pd.DataFrame(cur.fetchall(), columns = headers) 

df.head(n = 20) 
+0

Ответчик ответил в июле 2016 года :) –

Смежные вопросы