2016-05-06 9 views
1

Python2.7を使用してCSVファイルをロードします。最初の行には列名が含まれ、最初の列には行名が含まれます。Python:最初の列を行名としてロードし、列名として最初の行

私のCSVファイルは下にあります。

A B C D 
a 1. 2. 3. 4. 
b 5. 6. 7. 8. 

私はnumpyやpandasでそれを行う方法がわかりません。誰かが私を啓発することはできますか?ありがとう!

+0

何を得る予定ですか?データフレームまたはnumpy配列? –

+0

私はデータフレームを取得したいと思います。私は列名と行名で各行列要素にアクセスしたいと思います。 –

答えて

3

あなたは正規表現の区切り\s+pd.read_csvを使用することができます。

import pandas as pd 

In [4]: pd.read_csv('file.csv', sep='\s+') 
Out[4]: 
    A B C D 
a 1.0 2.0 3.0 4.0 
b 5.0 6.0 7.0 8.0 

それともためdelim_whitespace引数を使用することができますそれ:

In [5]: pd.read_csv('file.csv', delim_whitespace=True) 
Out[5]: 
    A B C D 
a 1.0 2.0 3.0 4.0 
b 5.0 6.0 7.0 8.0 
+0

それは動作します、ありがとう! –

3

あなたは、セパレータs\+read_csvを使用することができます - 任意の空白を:

import pandas as pd 
import io 

temp=u"""A B C D 
a 1. 2. 3. 4. 
b 5. 6. 7. 8.""" 
#after testing replace io.StringIO(temp) to filename 
df = pd.read_csv(io.StringIO(temp), sep="\s+") 
print df 
    A B C D 
a 1.0 2.0 3.0 4.0 
b 5.0 6.0 7.0 8.0 

Docs

+0

それは動作します、ありがとう!アップ投票!また、ドキュメントのリンクに感謝します。 –

関連する問題