tsvファイルをPandas DataFrameに読み込む方法は?


136

私はpythonとpandasが初めてです。tsvファイルをパンダにロードしようとしていますDataFrame

これが私が試していることと私が得ているエラーです:

>>> df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))

Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    df1 = DataFrame(csv.reader(open('c:/~/trainSetRel3.txt'), delimiter='\t'))
  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 318, in __init__
    raise PandasError('DataFrame constructor not properly called!')
PandasError: DataFrame constructor not properly called!

11
2017年以降にこの回答に来る人は、を使用してくださいread_csv('path_to_file', sep='\t')以下のこの回答を
Ted Petrou 2017年

ありがとう@TedPetrou
Salomon Kabongo

回答:


153

:17.0以降from_csvは非推奨:pd.read_csv代わりに使用してください

ドキュメントはあなたが望むことをするように見える.from_csv関数をリストしています:

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t')

ヘッダーがある場合は、を渡すことができますheader=0

DataFrame.from_csv('c:/~/trainSetRel3.txt', sep='\t', header=0)

4
この方法にはいくつか問題がありました-非常に遅く、最後にインデックス作成に失敗しました。代わりに、read_table()を使用しました。
Yurikが2014

21
17.0以降from_csvは非推奨です。pd.read_csv代わりに使用してください。
rafaelvalle 2016

2
私は以下を使用する必要がありました:DataFrame.read_csv( 'filepath.tsv'、sep = ''、header = 0)
Archie

3
これは悪い答えです。TSVをネイティブで読み取るにはpd.read_csv/read_table、を設定する必要があります。delim_whitespace=Trueまたは、sep
smci

3
@rafaelvalleが非推奨の通知を追加
Arayan Singh

84

17.0以降from_csvは非推奨です。

pd.read_csv(fpath, sep='\t')またはを使用しpd.read_table(fpath)ます。


4
注:read_tableはバージョン0.24.0以降廃止されています。代わりにpandas.read_csv()を使用してください。
ManuelSchneid3r




0
df = pd.read_csv('filename.csv', sep='\t', header=0)

区切り文字とヘッダーを指定して、tsvファイルを直接pandasデータフレームに読み込むことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.