2014-11-21 192 views
0

此刻我試圖寫一個字典到一個文件(以同樣的方式讀取文件)。我認爲使用熊貓是一個好主意(因爲我也用它來閱讀相同的文件),但那不符合我的要求。蟒蛇字典到文件

我的數據看起來成才這樣的:

dict = {'x': np.array([1,2,3,4,5,etc.]), 'h': np.array([4,5,6,7,8,etc.])} 

我想這個數據被寫入到以下格式的文件(因爲我用這種方法獲取它):

x   h 
1   4 
2   5 
3   6 
4   7 
5   8 
etc.  etc. 

我想這一點,這工作,但不是在路上,我希望它:

a = pd.Series(dict) 
a.to_csv(filename, sep='\t') 

如何做到這一點的任何建議(或者是更容易使用python編寫它?)

+0

「我試過了,這很有效,但不是我想要的方式:」發生了什麼? – YXD 2014-11-21 11:14:54

+0

@MrE我剛剛嘗試過,它用兩行'h \t [4 5 6 7 8]'和'x \t [1 2 3 4 5]'寫入一個文件。 – Carsten 2014-11-21 11:15:54

回答

1

由於您有多個系列的數據,所以您在Pandas中的正確數據結構是DataFrame。看看options for writing CSV files,我發現對於你想要的輸出,我還必須通過參數index=False(否則它會在第一列中寫入行號)。

import pandas as pd 
d = {'x': np.array([1,2,3,4,5]), 'h': np.array([4,5,6,7,8])} 

a = pd.DataFrame(d) 
a.to_csv("testfile.txt", sep="\t", index=False) 

此代碼將產生以下文本文件:

h x 
4 1 
5 2 
6 3 
7 4 
8 5 

PS:不要創建一個名爲dict變量。它會覆蓋該類型。