我的csv文件如下:
INDEX, VAL
04016170,22
04206261,11
0420677,11
df = pd.read_csv('data.csv', index_col='INDEX')
如何强制pandas将索引读为字符串而不是整数(以保留第一个0
)?
答案 0 :(得分:7)
您可以将dtype
作为参数传递,这会将列映射到传递的dtype:
index_col
修改强>
好的,您可以这样做,当您在read_csv
中明确设置set_index
时出现错误,因此您必须首先加载csv,然后调用{{1}加载后:
In [134]:
df = pd.read_csv(io.StringIO(t), dtype={'INDEX':str})
df = df.set_index('INDEX')
df
Out[134]:
VAL
INDEX
04016170 22
04206261 11
0420677 11
答案 1 :(得分:1)
另外两行解决方案:
df = pd.read_csv('data.csv',index_col=0)
df.index = [str(x) for x in df.index]
或
df.index = df.index.astype(str)