我刚刚开始使用Pandas,我正在使用该read_csv()方法读取csv文件.我遇到的困难是阻止大熊猫将我的电话号码转换为大号,而不是将它们保留为字符串.我定义了一个只留下数字的转换器,但它们仍然转换为数字.当我将转换器更改为在电话号码前加上"z"时,它们就会保留字符串.有没有办法在不修改字段值的情况下保留字符串?
zer*_*323 49
从Pandas 0.11.0开始,您可以使用dtype参数显式指定每列的数据类型:
d = pandas.read_csv('foo.csv', dtype={'BAR': 'S10'})
Run Code Online (Sandbox Code Playgroud)
lbo*_*lla 15
看起来你无法避免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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50086 次 |
| 最近记录: |