在Pandas csv read中指定数据类型

2024-05-14 08:19:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始使用Pandas,我正在使用^{}方法读取csv文件。我遇到的困难是阻止熊猫把我的电话号码转换成大号码,而不是把它们作为字符串。我定义了一个转换器,它只保留数字,但它们仍然转换成数字。当我把转换器改为在电话号码前加上一个“z”时,它们就一直是字符串。有没有办法在不修改字段值的情况下保留字符串?


Tags: 文件csv方法字符串pandas定义情况电话号码
2条回答

看起来您无法避免pandas试图转换CSV文件中的数值/布尔值。查看IO解析器的pandas源代码,特别是函数_convert_to_ndarrays,和_convert_typeshttps://github.com/pydata/pandas/blob/master/pandas/io/parsers.py

读取文件后,始终可以指定所需的类型:

df.phone = df.phone.astype(str)

由于Pandas 0.11.0,您可以使用dtype参数显式指定每个列的数据类型:

d = pandas.read_csv('foo.csv', dtype={'BAR': 'S10'})

相关问题 更多 >

    热门问题