我刚刚开始使用Pandas,我正在使用read_csv()方法读入一个csv文件。我遇到的困难是阻止熊猫将我的电话号码转换为大数字,而不是将它们保留为字符串。我定义了一个转换器,它只是让数字保持原样,但它们仍然会转换成数字。当我将转换器更改为在电话号码前加上'z‘时,电话号码仍然是字符串。有没有办法在不修改字段的值的情况下保留它们的字符串?
发布于 2013-08-29 09:22:24
从Pandas 0.11.0开始,您可以使用dtype参数显式指定每列的数据类型:
d = pandas.read_csv('foo.csv', dtype={'BAR': 'S10'})发布于 2012-05-28 16:16:29
看起来您无法避免pandas尝试转换CSV文件中的数值/布尔值。看一下用于IO解析器的pandas的源代码,特别是函数_convert_to_ndarrays和_convert_types。https://github.com/pydata/pandas/blob/master/pandas/io/parsers.py
在阅读完文件后,您始终可以指定所需的类型:
df.phone = df.phone.astype(str)https://stackoverflow.com/questions/10591000
复制相似问题