2016-11-03 16 views
0

私はtest.csvというCSVファイルを持っています。それはによって分離されています。正確性をチェックするために、**の異なる値に対してawk 'NR==**' test.csv | wc -wを使用し、予想どおり2595列があることを確認しました。スペース区切りのパンダでcsvを読み込む際にエラーが発生しました

ヘッダー行があります。私は、次のコードを使用してnumpy配列としてcsvをロードしました。

a = np.genfromtxt("test.csv", skip_header=1, delimiter=' ') 
a.shape 
(3367, 2595) 

そして2595列でファイルを正しくロードします。

次のコードを使用してpandasをロードしたとき、ファイルの読み込みに間違った数の列が含まれていました。

test = pd.read_csv("test.csv", sep=' ') 
test.shape 
(3367, 2539) 

は、その後、私はdelim_whitespace=Trueの代わりsep=' 'を使用し、それはまだ同じ結果を与えました。

最後に、index_col=Falseを使用し、IndexError: list index out of rangeを投げました。

これはパンダのバグですか、何か間違っていますか?私はバージョン0.19.0を使用しています。

答えて

0

テキストを見ることなく伝えるのは難しいですが、ヘッダー行と何か関係があると思います。

試行:

df = pd.read_csv("text.csv", sep=" ", skiprows=1) 
df.shape 
+0

テスト= pd.read_csv( "../実験/ 2500_ig_docfreq_5threshold /のtest.CSV"、=」」のskipRows = 1、ヘッダ=なし、index_col =なし 9) これは機能しました。ありがとう。私はかなり名前のヘッダー行にスペースがないと確信しています。ファイルのヘッダー行またはいくつかの行をどこかにアップロードして共有する必要がありますか? – shahensha

+0

問題は、Pandasが解析した最初の行からDataFrameがどのように見えるかを把握しているため、ヘッダーに空白がなく、パーサーがデータ行だと思った場合、DataFrameには単一の列。実際に2595個の列がある場合は、ここで共有するには大きすぎます。ヘッダーといくつかの行を他の場所にアップロードできれば、それは役に立ちます。 – Batman

+0

リンク先は次のとおりです。https://drive.google.com/file/d/0B-NosSKmH7C3VUVmSld1SkdFbEk/view – shahensha

関連する問題