例如,假设我的代码(在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类型?
答案 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