写作本书的目的是希望让不懂编程的读者也能使用ChatGPT生成代码,轻松实现Excel数据处理自动化,让读者从零基础成为高手;让懂编程的读者也能收获良多,快速提升工作效率。
书中用ChatGPT自动生成代码,实现了Excel数据处理自动化的绝大部分内容,包括数据导入和导出、数据整理、数据预处理、数据统计分析、数据可视化和与Excel工作表交互等。书中针对数据处理的每个问题都提供了示例,结合示例实践了提示词的编写技巧,并对与表达、数据、输出、效率和语言等相关的主题进行了探讨和总结。书中的代码是使用pandas、xlwings和OpenPyXL编写的,这也是目前通过编程方式处理Excel数据最优的工具组合。
本书适合任何对ChatGPT和Excel数据处理感兴趣的读者阅读,包括职场办公人员、数据分析人员、大学生、科研人员和程序员等。
不懂编程?ChatGPT帮你编程;懂编程?ChatGPT帮你十倍提升工作效率!
童大谦,具有15年以上VB、VBA、.NET开发经验,开发了多个数学、数据分析与可视化方面的软件,以及与科研院所合作开发了若干个软件系统。对Python、MATLAB、SPSS、R等数据分析软件非常熟悉,出版多本相关图书。曾在高校执教,CSDN高级讲师,全网学员目前近30万人。
本书的出发点
当很多人还在纠结是学习VBA好还是学习Python好,面对win32com、xlwings、OpenPyXL、pandas、Power Query、Power Pivot等工具无所适从时,ChatGPT出现了。
ChatGPT是一个聊天机器人。但它不是普通的聊天机器人,它背后的技术包括深度学习、大语言模型等。另外,它的背后还站着微软公司这个“巨人”。就在最近,微软公司在它的核心产品(如Office、Bing和Windows系统等)中全部集成了ChatGPT。微软之心,路人皆知。
用,或者不用,已经不是问题!
问题是什么呢?问题是在使用ChatGPT帮我们进行数据分析、编写代码时,它有时候灵,有时候不灵。
为什么会不灵呢?有人故作深沉地说:提示词没写好!但是,按照提示词的万能格式,给它扮演了角色,交代了背景,阐述了问题,指定了输出格式,仍然得不到满意的代码!所谓生成代码1分钟,调试代码几小时,谁说的?真对!以后别说了。
可见,ChatGPT目前还不是万能的,完全依靠ChatGPT解决所有问题是不现实的,首先要统一认识。但是使用ChatGPT大幅度减少工作量、提高工作效率是可行的。
不灵的问题出在哪里呢?出在当我们向ChatGPT提问时,实际上有些时候它不确定我们究竟想要什么。它会尝试着先给出方案一,问我们是不是这样的;再给出方案二,问我们是不是那样的。这时需要我们更明确地告诉它应该怎么做,把步骤和细节说得更清楚一些。但是要把问题说清楚,很多时候需要我们有编程思维和编程逻辑。可是我们就是因为不会编程才问它的。
面对这样一个是“先有鸡还是先有蛋”的问题,怎样才能解决呢?此时专家,不,编程高手的作用就体现出来了。让编程高手来写能解决问题的提示词,做成模板,提供给不懂编程的人。这样,不懂编程的人在遇到同类问题时,只需要修改模板中相关的参数就可以解决问题了。
本书正是基于这样一个基本认识来写作的。
本书的内容
正是基于以上认识,作者首先按照ChatGPT的工作方式,将Excel数据分析的主要内容按照面向问题的思想进行了重构,重构得到若干典型问题(参见本书目录)。考虑到本书的很多读者可能不懂或略懂编程,问题描述中尽量避免出现与编程有关的术语和函数名称等。
在完成重构以后,对每类问题结合示例编写和优化提示词,并得到提示词模板。本书除了介绍基本都知道的提示词编写技巧,还基于大量实战总结出了用于Excel数据分析的特有的提示词编写技巧,对与表达、数据、输出、效率和语言等相关的主题进行了探讨和总结。考虑到本书的一些读者可能懂编程,因此每个问题增加了“知识点扩展”环节,展开讨论与知识点有关的编程问题。
本书基于ChatGPT 3.5,并结合pandas、xlwings和OpenPyXL进行编写,实际上,将Excel数据分析的主要内容重做了一遍。
第1章介绍Excel和Python数据处理的基本现状,以及ChatGPT的基础知识和提示词编写技巧。第1章既是基础性的一章,也是总结性的一章。
第2章介绍导入与导出数据的方法。导入数据是进行数据分析的第一步。
第3~8章介绍数据的整理方法。在将数据导入后,首先进行文件层面上的整理,各章介绍不同类型数据的整理方法,包括单个文件数据的整理、多个文件数据的整理、文本数据的整理、日期时间数据的整理、时间序列数据的整理和分类数据的整理。
第9章介绍数据的预处理,包括重复数据、缺失值、异常值的处理,以及数据转换等内容。
第10章介绍描述性统计、分组统计、频数分析和数据透视表等内容。
第11章介绍在pandas中与Excel工作表进行交互的方法,结合xlwings和OpenPyXL来实现。
第12章介绍使用xlwings、OpenPyXL和Matplotlib进行数据可视化的方法。
第13章和第14章分别介绍Python语法基础和pandas的几种基础数据类型。想要简单了解Python编程的读者可以阅读这两章内容。如果读者想要系统了解xlwings和OpenPyXL编程,则推荐阅读本书作者编写的《代替VBA!用Python轻松实现Excel编程》一书。
本书的特点
本书提出基于提示词模板,可以使用ChatGPT自动生成Python代码,让不懂编程的人员也能实现Excel数据处理自动化,并结合大量示例进行了实战。本书提供了将ChatGPT应用于一个相对完整的知识体系的典型样本,并结合示例深入探讨和实践了提示词的编写技巧。书中的代码是使用pandas、xlwings和OpenPyXL编写的,这也是目前通过编程方式处理Excel数据最优的工具组合。
本书的读者对象
本书首先是为不懂编程或略懂编程但是有数据处理自动化需求的人员编写的;其次,懂编程的人员也可以阅读本书,因为使用ChatGPT能够大幅度提高工作效率。
本书适合任何对ChatGPT和Excel数据处理感兴趣的读者阅读,包括职场办公人员、数据分析人员、大学生、科研人员和程序员等。
联系作者
由于作者水平有限,书中难免存在疏漏与不足之处,敬请广大读者给予批评指正。
为了方便读者学习,本书的示例数据、提示词和代码均可下载,请加入本书读者群查看下载链接。其中提供了更多与Python、VBA和Excel函数相关的提示词模板。
作 者