杨桃的Python笔记3——pd.read_csv函数的一个bug:只能读取第一列

博主在使用Pandas的pd.read_csv函数时发现,当设置engine='python'参数来消除警告后,读取csv文件只会显示第一列数据。通过去除该参数,问题得到解决。提醒读者在使用时注意此潜在问题。
摘要由CSDN通过智能技术生成

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

 

Pandas是Python一个很有用的数据分析应用包,受到广大程序员的欢迎。

今天本人在使用中发现pd.read_csv函数存在一个很有意思的bug,和大家分享一下。

 

使用engine='python'参数消除告警

首先我们查看一下需要读取的文本文件test01.txt:

这个文本文件我们只需读取数据部分,因此需要“掐头去尾”,在pd.read_csv函数中有现成的参数可以使用

代码如下:

# 导入Pandas包
import pandas as pd

# 在字符串最前面加r避免被用作转义字符
data01 = pd.read_csv(
# 第一个filepath_or_buffer参数:指定txt文件或csv文件所在的具体路径
r'D:\test01.txt',
# skiprows参数:指定需要跳过原数据集开头的行数是3行
skiprows = 3,
# sep参数:指定原数据集中各字段之间的分隔符,默认为逗号','
sep = ',',
# skipfooter参数:指定需要跳过原数据集末尾的行数是3行
skipfooter = 3,
# encoding参数:如果文件中含有中文,可以指定字符编码为utf-8
encoding='utf-8',
# thousands参数:表示把&符号作为千位符
thousands = '&',
# header参数:表示是否需要将原数据集中的第一行作为表头,None默认为否
header = None,
# names参数:通过该参数在数据读取时给数据框添加具体的表头
names = ['id','year','month','day','gender','occupation','income'],
# usecols参数:通过该参数指定需要读取原数据集中的哪些列
usecols = ['id','year','month','day','gender','income'], #
# converters参数:用于数据类型的转换(以字典的形式指定),本例是把id字段由数字转换为字符串
converters = {'id':str}
)

print(data01)

运行结果:

test01.py:25: Par
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值