2017-05-24 12 views
0

私はこのようになりますテキストファイルを持っている:区切り文字は4つのスペースであるパンダのデータフレームにテキストファイルをロードするにはどうすればよいですか?

`

101 the 323 
103 to 324 
104 is 325 

。私はread_csvの機能をinorderのデータフレームに変換しようとしています。

data= pd.read_csv('file.txt', sep=" ", header = None) 

それは私にはNaNの多くを与えているしかし、私は正しいCSV形式にテキストファイルを読むことができる方法はあり

101\tthe\tthe\t10115 NaN NaN  NaN NaN NaN NaN NaN NaN NaN NaN 
    102\tto\tto\t5491 NaN NaN  NaN NaN NaN NaN NaN NaN NaN NaN 
    103\tof\tof\t4767 NaN NaN  NaN NaN NaN NaN NaN NaN NaN NaN 
     104\ta\ta\t4532 NaN NaN  NaN NaN NaN NaN NaN NaN NaN Na 

値。

答えて

2

もし必要セパレータ正確4空白文字:

data = pd.read_csv('file.txt', sep="\s+", header = None) 
data = pd.read_csv('file.txt', delim_whitespace=True, header = None) 

しかし、セパレータがtabの場合:

data = pd.read_csv('file.txt', sep="\s{4}", header = None, engine='python') 
print (data) 
    0 1 2 
0 101 the 323 
1 103 to 324 
2 104 is 325 

または使用パラメータdelim_whitespace=True(感謝carthurs)または\s+必要性セパレータを一つ以上のwitespaces場合

data = pd.read_csv('file.txt', sep="\t", header = None) 
+1

または使用delim_whitespace = 9月の代わりに真を= ... – carthurs

+0

おかげでたくさんの@jezrael .. ...それは本当に助けになった。乾杯 –

0

ファイルの形式嗅ぐだけであろうread_fwfを使用できるようにするには、固定幅のファイルを持っている:

In[79]: 
pd.read_fwf('file.txt', header=None) 

Out[79]: 
    0 1 2 
0 101 the 323 
1 103 to 324 
2 104 is 325 
関連する問題