处理大型Excel文件,用Python就对了!

  • 2019 年 11 月 23 日
  • 笔记

打开几M的Excel文件,电脑卡的真是要吐血······

网上说现在的各行业都要Python,即提高了工作效率,又能装B

。也因此,网上也出现了一堆一堆的Python培训。但是,平时经常用Excel的你会问?到底Python有啥用, 能帮助我提高哪些效率。来,今天我们举个例子告诉你!

首先。我们要处理的Excel文件包含近100万行16列

Python提供了read excel()来读取Excel文件作为DataFrame:

import pandas as pd  import numpy as np  df = pd.read_excel(...\Excel-Tutorial.xlsx')

这一步很简单,没毛病!

正如你所看到的,到目前为止,数据看起来是OK的,但我们的列标题是错误的。接下来,让定义一个标题行:

df = pd.read_excel('…\Excel-Tutorial.xlsx', header=[1]).reset_index()

参数header=[1]指定使用Excel中的第二行作为标题。

数据OK了,下面要做一些分析啦。这时,你可能会用到Pandas库。

加入你是做市场营销的,你希望知道公司每年在不同国家的销售额是多少。

一行代码搞定,用了86毫秒。操作越复杂,速度优势越明显!

如过让你用Excel,你会做多久?

另一个需求可能是销售部门需要按年份和类别求出每个国家的数据。那么,我们须将计算结果保存在不同的工作表中:

下一步,我们将数据再次保存为Excel,以便将其提供给销售和市场部门。我们将创建一个 pd.ExcelWriter对象并创建不同的表格:

很简单,不是吗?让我们来看看新创建的工作簿:

正如您所看到的,DataFrame被正确地保存到指定的工作表中。在我们向两个部门都发送了邮件后,第二天我们又收到了一封邮件:他们要求进行一些流程化和可视化。因为每个月都要使用这类数据,所以我们决定用Python来执行这些任务与操作。

我们须再创建一个writer对象:

代码的第一部分与第一个示例相同。我们创建了一个writer对象。xlsxwriter使我们能够访问Excel的图表和格式等。我们需要获得 workbook 对象 workbook=wrier.book 和 worksheet 对象 worksheet=wrier.sheet [‘ Sales sums']。在本例中,我们将对第一个工作表执行修改。我们添加一个图表,指定数据的范围(= sales_sum !$B$2:$B$7’),并将其添加到工作表的A9单元格中。

可复制、可修改、效率高!

还有很多很6的操作,后续我们将为大家逐一讲解。