2014-05-20 160 views
1

我有一个DataFrame df,它是根据属性分组的。我正在尝试将每个组写入它自己的csv文件。我曾尝试使用pandas.DataFrame.to_csv()方法。我收到以下错误。无法使用to_csv()方法从Pandas DataFrame创建csv文件

outcsv = pd.DataFrame.to_csv(outdf, sep = "\t")   
TypeError: to_csv() takes at least 2 arguments (2 given) 

我使用的代码如下。

def groupChromosomes(filepath, groupbykey, sep): 
import csv 
import pandas as pd 
df = pd.read_csv(filepath, sep = sep) 
d2 = df.groupby(groupbykey) 
for name, group in d2: 
    with open(name+'.csv', 'w') as outfile: 
     outdf = pd.DataFrame(group)  
     #print outdf 
     outcsv = pd.DataFrame.to_csv(outdf, sep = "\t")   
     return outcsv 
+0

尝试 'outdf.to_csv(OUTFILE,九月= “\ t” 的)' 还没有尝试过,但我认为你刚刚洗过零件。 – cphlewis

回答

3

.to_csv()是数据框对象的方法,所以你应该从你要导出的对象调用它。另外,你并不是真的想从函数中返回它,因为所有的方法都是写这个文件。

你的循环应该是这样的:

for name, group in d2: 
    # I'm not even sure if this step is necessary, you should 
    # probably be able to do group.to_csv() directly 
    outdf = pd.DataFrame(group) 
    outdf.to_csv(name + '.csv', sep='\t') 
+0

这是正确的,对我有意义。每个组的csv文件已创建并正确分隔。非常感谢 – cubedNnoobed

相关问题