2016-11-12 13 views
0

このデータフレーム(loandata)を分類し、各サブデータフレームを多数のcsvファイルにインポートします。最初のステップは、私は結果の一つを変換しようが、残念ながら失敗し、このエラーを得た:TypeError:暗黙的に 'module'オブジェクトをstrに変換できません

import pandas as pd 
import csv 
import os 

#readfile 
loandata=pd.DataFrame(pd.read_table('/Users/lixuefei/Desktop/Sample Dataset/test.txt',header = None,index_col=2)) 

#classify 
volume_type=list(set(loandata[3])) 
system_type=list(set(loandata[4])) 
area_name=list(set(loandata[5])) 

df=pd.DataFrame(loandata[(loandata[3]==volume_type[0])& (loandata[4]==system_type[0])&(loandata[5]==area_name[0])]) 
#set the file path 
path='/Users/lixuefei/Desktop/Sample Dataset' 
filename=volume_type[0]+system_type[0]+area_name[0] 
filetype=csv 

if not df.empty: 
    df.to_csv(os.path.join(path,filename+filetype),header=None) 
else: 
    print("Empty") 

と、これはエラーです:

/Users/lixuefei/anaconda/bin/python3.5/Users/lixuefei/PycharmProjects/project/project.11.09.py 
    Traceback (most recent call last): 
    File "/Users/lixuefei/PycharmProjects/project/project.11.09.py", line 25, in <module> 
     df.to_csv(os.path.join(path,filename+filetype),header=None) 
    TypeError: Can't convert 'module' object to str implicitly 
+1

モジュールを変数 'filetype = csv'に割り当てます。あなたは' '' '' 'filetype =" csv "'または '' filetype = "。 – furas

答えて

1

a)の空白はあなたの友達です。

b)filenameは文字列で、filetypeはcsvモジュールです。

filetype = "csv" 
その後

以下の1:

os.path.join(path, filename + "." + filetype) 

またはより良いまだ:

os.path.join(path, "%s.%s" % (filename, filetype)) 

または "適切な" Pythonの

は、私はあなたが言うことが何を意味するかと思います3ウェイ:

os.path.join(path, "{}.{}".format(filename, filetype)) 
関連する問題