繁体   English   中英

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

[英]Sorting an Excel Spreadsheet with Python

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

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

我的老板希望我们一个团队浏览这张表,并根据他们的行业对每个公司进行分类,这显然需要很长时间。 它涉及搜索每个公司名称,找到其行业,然后复制未排序工作表上的行并将其粘贴到分类工作表上的一行中。

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

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

我正在努力寻找一种方法来整理数据,将与每家公司有关的所有信息放在一起,并将一行从一个地方移动/复制到另一个地方。 我可以使用哪些功能? 我该如何解决这个问题?

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

非常感谢对此问题的任何帮助,我非常乐意提供任何人可能需要帮助此工作的任何其他详细信息。

困难的部分是编写一个函数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模块。 您可以自动取公司名称,看看是否可以找到有关该公司的网站,然后在这些网站上搜索关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM