当前位置:首页>python>利用AI,零基础速通Python · 06

利用AI,零基础速通Python · 06

  • 2026-09-02 20:30:11
利用AI,零基础速通Python · 06
-这是 空框|Reframe 的第 22 篇文章-
上一篇,我们解决了“数据如何进出系统”的问题。文件读写,让程序不再局限于内存里的临时变量,而是开始与现实世界交换信息。
但如果你仔细想,会发现一个新的问题:文本是自由的,但系统需要秩序。真实世界的数据,大多数是混乱的。
用户反馈是一整段文字,日志是一串时间戳,会议纪要是一篇自然语言,日记是一段情绪流。
这些都是非结构化数据。而程序真正擅长处理的,是结构化数据。
于是,我们进入今天的主题——结构化数据与函数抽象。

为什么CSV是现实世界的主流格式
如果你做过产品、运营或数据分析,你一定接触过销售报表、用户增长数据、订单记录、行为日志导出文件等。绝大多数情况下,它们是CSV。 
CSV(Comma Separated Values)本质是一种表格格式的文本文件。 例如,我们有一个文件: startup_ideas.csv
Project,Category,Score,FounderExperience,Status AI Chef,FoodTech,87,5,Testing MindGym,EdTech,92,3,Launched GreenFuel,Energy,76,8,Prototype CodePet,AI,95,2,Launched 
每一行是一条记录,每一列是一个字段。 
对人类来说,这是表格。 对程序来说,这是可解析结构。

读取CSV:把表格变成“数据对象”
我们开始读取它。和读取txt格式文件不同,读取CSV可以通过以下代码:
import csvf = open("startup_ideas.csv", "r")reader = csv.DictReader(f)projects = []for row in reader:    projects.append(row)f.close()
此时:
print(projects[0]) 
输出: 
{'Project': 'AI Chef', 'Category': 'FoodTech', 'Score': '87', 'FounderExperience': '5', 'Status': 'Testing'} 
注意一个关键细节:所有字段默认都是字符串。 Score是 "87",不是数字 87。这就是为什么在后续筛选时,你必须做类型转换。

筛选结构化数据:真正的数据处理开始
假设我们要找出:评分大于 90 且已经上线的项目。可以通过如下代码实现:
selected = [] for project in projects:     if int(project["Score"]) > 90 and project["Status"] == "Launched":         selected.append(project)print(selected) 
这一步,本质是: 
1、结构化数据 
2、条件判断 
3、批量筛选 
你会发现:CSV + for + if = 最基础的数据分析能力。
这就是很多“数据分析系统”的最小模型。

把重复逻辑封装成函数

如果以后我们会读取很多不同的CSV文件,重复写这些代码就很低效。于是我们抽象出函数。在Python中,定义函数的命令为 def:

def read_csv_file(filename):    with open(filename, "r") as f:        reader = csv.DictReader(f)        data = []        for row in reader:            data.append(row)    return data

调用函数代码如下所示:

projects = read_csv_file("startup_ideas.csv") 

你会发现,代码突然变干净了,并且对于重复的内容,可以用更简单易懂的方式呈现了。 

这就是函数的价值:把行为抽象成能力。


参数与返回值:函数的系统意义

函数有两个关键部分:

1、参数 —— 输入 

def filter_by_score(data, min_score): 

2、返回值 —— 输出

return result 

一个完整示例如下: 

def filter_by_score(data, min_score):     result = []    for item in data:        ifint(item["Score"]) >= min_score:            result.append(item)    return result 

调用:

top_projects = filter_by_score(projects, 90) 

从产品思维看,这相当于:

定义一个接口:输入数据 + 输入规则 → 输出结果 

函数本质上就是一个小型“能力模块”。

关于Return的作用和上面代码的意思,如果有看不懂的,可以复制后,让AI一行行的仔细解释。


进阶:组合多个筛选条件

我们再写一个更像“真实业务规则”的函数。

def filter_projects(data, min_score, min_experience):    result = []    for item in data:        if (            int(item["Score"]) >= min_score and            int(item["FounderExperience"]) >= min_experience and            item["Status"] == "Launched"        ):            result.append(item)     return result 

调用:

qualified = filter_projects(projects, 85, 3) 

你已经在做一件非常接近真实产品逻辑的事情:用规则定义筛选标准。

这就是系统设计。


CSV + AI:让结构化数据拥有“表达能力”

现在我们做一个更有趣的升级。

假设我们筛选出了高潜力项目:

high_potential = filter_by_score(projects, 90) 

我们可以构造Prompt: 

prompt = f"""Based on the following startup data: {high_potential} Write a short investment pitch summary. """ 

这一步非常关键。你做的是结构化数据 → Prompt → 生成内容,这是AI产品的典型模式。

数据负责“事实”, 模型负责“表达”。


你现在应该达到什么程度?

这一篇,我们完成了三个层级的跃迁:

第一层:会读取 CSV,你可以把文件变成数据对象。

第二层:会写函数,你可以把逻辑变成可复用能力。

第三层:结合AI,你可以让结构化数据变成内容生成的输入。

当你把这三者组合在一起,你已经在构建一个最小的数据智能系统。

看完这一篇,你应该能够:

1、读取CSV文件

2、理解DictReader的结构

3、筛选和处理结构化数据

4、定义带参数与返回值的函数

5、把数据流与AI结合起来


我们一直在做一件事:从“写语法”,走向“构建系统”。

在AI时代,学习一门语言,其实可以直接上手去使用。在我的文章里,没有讲特别多基础的语法以及代码结构,因为对于看不懂的内容,你完全可以复制给AI,然后让AI一行行的解释,这比我直接写出来要更高效且清晰。

AI产品是构建数据输入 → 数据清洗 → 规则筛选 → 模型生成 → 结构化输出 → 存储与复用的一个过程。而真正成熟的AI系统不是让模型回答问题。而是设计一个稳定的数据流,让模型成为其中可替换的一环。 

对于产品经理来说,结构化能力,比模型能力更重要。对于AI时代的代码学习者来说,抽象能力,比语法熟练更重要。

[空框|Reframe]

 感谢您的阅读,欢迎您的关注

最新文章

随机文章