我想使用Python2.7加载CSV文件,其中第一行包含列名,第一列包含行名。
我的CSV文件看起来像在下面。
A B C D
a 1. 2. 3. 4.
b 5. 6. 7. 8.
我不知道如何用numpy或pandas做到这一点。有人可以开导我吗?谢谢!
答案 0 :(得分:3)
您可以将read_csv
与分隔符s\+
一起使用 - 任意空格:
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
答案 1 :(得分:3)
您可以将pd.read_csv
与正则表达式分隔符\s+
一起使用:
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