脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 解决pandas使用read_csv()读取文件遇到的问题

解决pandas使用read_csv()读取文件遇到的问题

2021-03-05 00:26Zhang_Zhi_Qiang_1 Python

今天小编就为大家分享一篇解决pandas使用read_csv()读取文件遇到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下:

 

数据文件

上海机场 (sh600009)
24.11 3.58
东风汽车 (sh600006) 74.25 1.74
中国国贸 (sh600007) 26.38 2.66
包钢股份 (sh600010) 61.01 2.35
武钢股份 (sh600005) 75.85 1.3
浦发银行 (sh600000) 6.65 0.96

 

在使用read_csv() API读取CSV文件时求取某一列数据比较大小时,

?
1
2
df=pd.read_csv(output_file,encoding='gb2312',names=['a','b','c'])
df.b>20

报错

?
1
TypeError:'>'not supported between instances of 'str' and 'int'

从返回的错误信息可知应该是数据类型错误,读回来的是‘str'

?
1
2
3
4
5
6
in : df.dtypes
out:
 a object
 b object
 c object
 dtype: object

由此可知 df.b 类型是 object

查阅read_csv()文档 配置:

?
1
2
3
4
dtype : Type name or dict of column -> type, default None
Data type for data or columns. E.g. {'a': np.float64, 'b': np.int32} (unsupported with engine='python'). Use str or object to preserve and not interpret dtype.
 
New in version 0.20.0: support for the Python parser.

可知默认使用‘str'或‘object'保存

因此在读取时只需要修改 'dtype' 配置就可以

?
1
df=pd.read_csv(output_file,encoding='gb2312',names=['a','b','c'],dtype={'b':np.folat64})

以上这篇解决pandas使用read_csv()读取文件遇到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/Zhang_Zhi_Qiang_1/article/details/78628130

延伸 · 阅读

精彩推荐