使用Python对Excel电子表格进行排序

时间:2019-07-18 19:38:23

标签: python excel python-3.x pandas xlrd

这是我的第一篇文章,并且我的编程知识非常有限。如果使用python给出答案,我将不胜感激,因为这是我所熟悉的唯一语言。我也尝试过使用pandas和xlrd,所以继续使用它们会很好。

问题是这样的:我有一份大约有30,000个条目的公司列表。该列表采用Google表格的形式,但是可以轻松导出到Excel。表格的每一行代表一家公司,每一列代表与该公司有关的一条信息。

我的老板希望我们的团队仔细阅读这份表,然后根据行业将每个公司分类,这显然会花费很长时间。它涉及到搜索每个公司名称,找到其行业,然后将其复制到未排序的工作表上,然后将其粘贴到已分类的工作表上的行中。

我的想法是,使用if语句,我们可以很快地整理好大部分工作。

例如,假设一类公司被称为“建筑”。如果公司名称包含“ construction”,“ steel”或类似的词,我们可以自动将该公司(及其所有信息)移动到这个新类别“ Construction”。新目的地最好是新excel文件上的图纸。任何没有任何行业关键字的商品都将进入未排序的表格。

我所苦恼的是找到一种方法来对数据进行排序,将与每个公司相关的所有信息保持在一起,并将行从一个地方移动/复制到另一个地方。我可以使用哪些功能?我该如何解决?

目标是让30,000个条目中的MOST(不是全部)根据其名称自动排序,因此,我可能只需要对几千个与任何关键字都不匹配的未排序项进行排序。

对于此问题的任何帮助,我们将不胜感激,并且我非常乐意提供任何其他需要帮助此工作的详细信息。

1 个答案:

答案 0 :(得分:0)

最困难的部分是编写一个函数get_category(),该函数需要一行并返回一个类别。有了这些之后,您就可以执行诸如df['category'] = df.apply(get_category,axis = 1)之类的操作,该操作将插入一列说明公司的类别,或者category_dict = {category[0]: category[1] for category in df.groupby(df.apply(get_category,axis= 1)}之类的操作,这将创建一个字典,其中每个键都是一个类别,对应的是价值是该类别中公司的数据框。

对于get_category,您可能需要研究requests模块。您可以自动获取公司名称,并查看是否可以找到有关该公司的网站,然后在这些网站中搜索关键字。