python读取csv文件_Python学习第96课-读取csv文件数据并用iloc定位单个数据

【每天几分钟,从零入门python编程的世界!】

我们之前绘图所用的数据基本都是通过自己手写输入到Python里面的,但是实际工作中都是把外部数据,导入到Python的环境里面进行数据分析的。对外部数据进行分析,我们就要用到pandas这个工具,它是一个非常强大的数据处理工具。

现在我们用pandas去读取外部数据(相当于引入外部数据),假设我们的外部数据保存在一个叫simple_data.csv的文件中。

还记得csv是什么吗?csv(Comma-Separated Values)就是逗号分隔值,其实分隔符也可以不是逗号,用其他字符作为分隔符也是可以的,所以csv也叫字符分隔值。

csv文件是以纯文本形式储存表格数据的。也就是说csv文件的原始文件格式是纯文本,即我们可以用记事本这样的文本编辑器打开它。同时csv保存的数据格式跟Excel表格相似,所以csv格式的文件能用Excel打开。我们用记事本打开simple_data.csv这个文件,如下:

8b576eae846188c897702c33c9a15ac4.png

我们用Excel打开simple_data.csv,如下:

5883ce9fbbd0a07698792bb4a0506799.png

我们看到,用Excel打开的时候,无非就是给数据套了个表格而已。

现在我们先用pandas读取一下simple_data.csv里面的数据。

代码如下:

47dea6e54faaa747bd0d3741f65c3259.png

代码说明:

read_csv()是读取csv格式的文件数据。

read_csv()的参数“simple_data.csv”是要读取的csv文件的相对路径,因为为了演示方便,我把simple_data.csv这个文件,和保存上图中代码的文件data_visual.py放在同一个文件夹中,所以相对路径可以这样写,所谓相对路径,就是simple_data.csv这个文件相对于data_visual.py这个文件的位置,理解相对路径了吗?

代码运行结果:

d25a6738a7560f9db70fec150dce0406.png

如上图,我们看到把simple_data.csv中的数据在Spyder中print出来,跟原始文件中差不多一样,无非是Spyder中打印的结果最左边多了一列数字:0-19,这是每一组用逗号分隔开的数据的索引。所有编程语言中,索引都是从0开始计数。

现在我们想要知道simple_data.csv中保存的这些数据到底是什么东西,我们用type()这个函数去判断下这些数据,然后打印出来:

8e827cc13eb9a611243d8f89039166c0.png

运行结果如下:

262dfa13fe36d1c3ba2cfa534c5e67fa.png

我们看到把这些数据判断之后打印的结果是:

即“pandas的核心的框架的以命名列方式组织的分布式数据集”,这个翻译可能不准,没关系,我们大概先把它理解为具有索引的结构化的数据集合。具体的概念后续再去深入。

接下来我们想找到这个simple_data.csv中的某一个数据,怎么做呢?

其实跟我们在Excel表格中找到某一个数据原理一样:

在Excel中,我们根据数据所在第几行第几列就能找到它,那么用pandas也是一样的原理,比如说我想找到这个数:

270fc7db71ab521e7fbddefdf81dae3a.png

上图的这个18位于column_a这一列,同时位于第18行,因为索引从0开始计数,所以我们看到18这个数字是第18行,它的索引是17。

因此代码如下:

7211f1f7dcfbbef2a22dd019434e6415.png

代码说明:

data1就是我们用pandas从simple_data.csv中读取出来的数据集,

column_a就是我们要找的18这个数字,在data1这个数据格式中的所在的列,

iloc是pandas中基于索引的整型数字进行定位的属性,这个数字位于18行,索引是17。

代码运行后打印出来就是18。

529870a159ade14f05b6831bf5a47de3.png

当我们能通过pandas找到一个文件中的数据,以及数据的行和列,那么我们就可以把像Excel表格的形式排版的外部文件,包括Excel表格文件,把这些文件里面想要抓取的数据抓取出来,然后用抓取出来的数据绘制图表进行分析,是不是很炫酷!

我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值