2014-11-21 191 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变量。它会覆盖该类型。