前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >用ChatGPT写一个数据采集程序

用ChatGPT写一个数据采集程序

作者头像
Crossin先生
发布2023-08-29 14:55:18
发布2023-08-29 14:55:18
21700
代码可运行
举报
运行总次数:0
代码可运行

大家好,欢迎来到 Crossin的编程教室 !

上次我们讨论了ChatGPT在辅助编程学习上的一些用法:

如何用ChatGPT学Python

既然ChatGPT可以理解并生成代码,那么自然而然,它的作用不仅仅是帮助学习代码,同样也可以直接用在实际的软件开发当中。

对于网页上的数据采集及处理是Python的常见应用场景之一。我们来看下ChatGPT是不是也能完成这样的任务。

假设我们现在需要抓取并整理某个网页上的表格数据:

https://python666.cn/static/score.html

我们直接来问问ChatGPT,能不能给个抓取的代码:

ChatGPT给了我们一份代码,但很遗憾,把这个代码复制到编辑器中运行后,生成的Excel是空的。

简单调试后发现,原来是因为页面上的表头元素用的是<th>标签

而ChatGPT因为没有获知具体的页面代码信息,直接当做<td>标签来处理,所以没采集到表头信息。

这种情况下,我们可以手动对代码做一些修改。

或者,我们点击回答下方的“Regenerate response”,让它重新回答一次试试:

这次ChatGPT给出的代码比之前简洁:

代码语言:javascript
代码运行次数:0
复制
import pandas as pd

# 读取网页上的表格
url = 'https://python666.cn/static/score.html'
tables = pd.read_html(url)

# 假设目标表格是第一个表格
table = tables[0]

# 将表格保存为Excel文件
output_file = 'table.xlsx'
table.to_excel(output_file, index=False)

print(f"表格已保存为 {output_file}")

运行后,成功得到了我们要的结果:

顺利拿到数据后,我们再进一步,让ChatGPT来对数据进行排序。当然,在排序前,我们需要告诉它关于表格内容的必要信息:

代码:

代码语言:javascript
代码运行次数:0
复制
import pandas as pd

# 读取网页上的表格
url = 'https://python666.cn/static/score.html'
tables = pd.read_html(url)

# 假设目标表格是第一个表格
table = tables[0]

# 将缺失值替换为0
table.fillna(0, inplace=True)

# 计算每个学生的均分
table['均分'] = table.mean(axis=1)

# 按均分降序排序
table.sort_values(by='均分', ascending=False, inplace=True)

# 将表格保存为Excel文件
output_file = 'sorted_table.xlsx'
table.to_excel(output_file, index=False)

print(f"按均分排序后的表格已保存为 {output_file}")

这次,ChatGPT完美实现了我们提出的需求:

可以看出,虽然ChatGPT很强大,但并不能保证每次生成的代码都是完美,仍然可能需要引导它修正或人工干预。

但即便如此,它也已经算得上一个十分得力的编程助手,可以大大提高开发效率。尤其像数据处理这种场景,以往开发时常常需要查找各种函数及其参数的使用方法。现在有了ChatGPT,只要准确描述数据格式及需求,就可以立刻得到相应的处理代码,非常的方便。

我现在做数据分析已经快离不开它了。

_往期文章推荐_

动画图解程序?这个可视化运行环境太方便了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档