2017-01-02 50 views
1

我有一個包含一個貨幣對的一些蜱一個CSV:的Python - 熊貓 - read_csv - 轉換爲csv在字典中被傳遞到pd.DateFrame

{'bid':1.2, 'instrument': 'EUR_USD'} 
{'bid':1.5, 'instrument': 'EUR_USD'} 

我想這個CSV轉換成一個字典,如:

mydict = {0:{'bid':1.2, 'instrument': 'EUR_USD'}, 1: {'bid':1.5, 'instrument': 'EUR_USD'}} 

或以任何迭代可由大熊貓數據框類閱讀:

pd.DataFrame(mydict) 

這將產生以下數據幀:

bid instrument 
0 1.2 EUR_USD 
1 1.5 EUR_USD 

換句話說,csv的標籤應該是數據幀的列。 你有什麼建議如何實現這一目標?

  • 3.4.1
  • 大熊貓0.15.2

回答

0

設置

from io import StringIO 
import pandas as pd 

txt = """{'bid':1.2, 'instrument': 'EUR_USD'} 
{'bid':1.5, 'instrument': 'EUR_USD'}""" 

# assigns pandas series of dictionary strings 
s = pd.read_csv(StringIO(txt), sep=';', header=None, squeeze=True) 

溶液

pd.DataFrame(s.apply(eval).tolist()) 

enter image description here

+0

非常感謝您的回答。我想知道是否使用'txt = open(_csvpath_,'r').read()'來存儲csv文件的內容是安全的,否則我可能會遇到一些大數據集的問題。你對此有何看法? – AntoG