分享好友

×
取消 复制
【Python代替Excel】2:数据的读取
2020-06-23 13:33:52

之前写过两篇用Python代替Excel的文章,然后就一直没再写。

想起我刚学Python的时候,也是走过许多弯路的。从Python语法呀、环境呀那些学,学得头大,而且一边学一边忘。经历了几年的工作,也对Python常用的模块和语法有了了解,所以打算写一个系列,手把手教大家用Python处理数据,现学现用。会写得比较详细哈,如果有点基础的人,可能会觉得废话。

适用人群:编程0基础,且想往数据分析发展的。

温馨提示:我不是专业的编程出身,所以编的程序可能在性能方面、消耗内存方面没考虑那么多,但是对于初级入门来说,肯定是妥妥的,而且能解决工作中大部分的数据处理需求哈。

数据的读取

上一篇文章,介绍了如何安装anaconda,如果你是0基础,强烈建议你先花两分钟看一下上一篇文章哦,数据分析与Python:【手把手教你Python数分】1:Python与Anaconda

安装完成之后,你的Python之路就开启了大门。哈哈~

  • 准备工作

童鞋们,作为数据分析师,咱们的第一个程序,可不是“hello world”哈,而是读取Excel文件。

准备工作:下载示例数据,提取码:tkqn

数据例子

数据介绍:这份数据是在网上下载的亚马逊食品评论数据,为了方便后续学习,我自己添加了一些数据。这份数据没有实际价值,仅供学习~

data表:包括了产品ID、用户ID、时间(我随机生成的)、评分等。

price表:产品ID、价格(随机生成)。

  • 我的第一个Python程序

下载好数据之后,存放到某个文件夹。

好,打开anaconda中的Spyder!

点击新建,出现新的代码框,可以在里面编写第一个程序。

咱们今天的目的,是为了用Python读取amazon_data那个文档。

import pandas as pd   #pandas是数据处理模块,import是导入,as pd是命名别名

amazon_data = pd.read_excel(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx',sheetname='data')

在左边代码框写好这两句代码,点击绿色的三角运行程序(需要保存py文件),会在右边显示实时结果。

运行程序时,会一直显示右边的runfile(文件),因为文件比较大,读取时间比较久。若是出现 In [2] 则说明数据读取完毕,且右上方的 Variable exporer会显示运行程序中涉及的变量及相关信息,此处是我们命名的 amazon_data。

从这里可以看到,我们读取的数据Type为“DataFrame”格式,大小是 568454行,10列,列命包括:Id、ProductId、UserId等等。

此时变量已经在IPython实时窗口了,可以直接在里面打印出变量数据:print(amazon_data)

注意,如果没有运行,就在ipython窗口打印变量的话,是会出现错误的。

好,作为数据分析师,咱们第一个程序就编写好了。

  • 语法讲解及延伸

今天涉及到 import 、read_excel这两个知识点。

import:

在Python当中,是有很多工具箱的。举个栗子,Python就相当于大学,工具箱就相当于专长不同的学院,有的擅长数据(pandas、numpy),有的擅长图像(matplotlib等),还有的是专门用来机器学习的(sklearn等)。那么我们用它们之前,需要用import导入,才能使用它们里面的各种方法或函数。

import 库名 as 别名,使用库的方法时得以【库名.方法】的格式,有些库名很长,用起来不方便,所以就要起个简单的别名。比如pandas时常是pd,numpy是np等等。

pd.read_excel():

这是Python常用来读取外部Excel文件的。当然还有读取csv的,pd.read_csv()。用法是括号里面是字符串:存放位置+文件名.格式,如 'd:\data\数据.xlsx' 。注意Excel是xlsx还是xls格式,如果没对应上是会出错的。

data = pd.read(r'd:\data\数据.xlsx') r是防止字符转译的,为了保险起见,还是都加上r吧。如果Excel里有多个sheet,默认是读第一个。如果要读特定的,可以加上sheetname='某某'。

如本次教程中的:

amazon_data = pd.read_excel(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx',sheetname='data')

因为本次数据实例,是有两个sheet的,一次读一个,当然OK。但是如果是多个且数据较多的情况,建议使用以下方法:

#方式1:
import pandas as pd
io = pd.io.excel.ExcelFile(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx')
amazon_data = pd.read_excel(io,sheetname='data')
price = pd.read_excel(io,sheetname='price')
io.close()

#方式2:
import pandas as pd
amazon_data = pd.read_excel(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx',sheetname='data')
price = pd.read_excel(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx',sheetname='price')

#在数据量大、sheet多的情况下,方式1的速度大于方式2的速度

延伸:

数据处理好了,如果需要输出Excel文件,则要用到to_excel。

import pandas as pd
amazon_data = pd.read_excel(r'D:\data\python\amazon-fine-foods\amazon_data.xlsx',sheetname='data')
amazon_data.to_excel(r'D:\data\new.xlsx')  #存入D盘的data文件夹

同样,如果是多个表需要输出,且输出到一个Excel的不同sheet,可以使用:

import pandas as pd
writer=pd.ExcelWriter(r'D:\data\python\存储数据.xlsx')
amazon_data .to_excel(writer,sheet_name='data')
price.to_excel(writer,sheet_name='price')
writer.save()
分享好友

分享这个小栈给你的朋友们,一起进步吧。

数据分析与数据挖掘
创建时间:2020-06-17 15:23:29
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。 数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~