如何读取表的第1列作为字符串?

时间:2017-03-02 06:57:20

标签: python python-3.x pandas

例如,假设我的代码(在Python 3.5中)如下所示:

In [234]: from io import StringIO
In [235]: f = '#a b c\n08 1 2\n9 3 4\n'
In [236]: df = pd.read_table(StringIO(f), sep=' ')
In [237]: df
Out[237]:
   #a  b  c
0   8  1  2
1   9  3  4

它将第一列读为int并在0之前删除8。我知道我们可以通过dtype={'#a': str}将其作为str读取。但是,据说我手边不知道列名,怎么能把第1列读成str类型?

1 个答案:

答案 0 :(得分:2)

您可以将dtype与字典对应于索引位置使用:

from io import StringIO
f = '#a b c\n08 1 2\n9 3 4\n'
df = pd.read_table(StringIO(f), sep=' ', dtype={0: str})

print(df)

    #a  b   c
0   08  1   2
1   9   3   4

print(df.dtypes)

#a    object
b      int64
c      int64
dtype: object