Skip to content

列表、字典和表格行:一行、多行、字段名怎样在代码里对应

示例文件:customer_records.py
最后核验:2026-08-02

这篇文章解释客户表进入 Python 后最常见的结构:一位客户用字典,多位客户用列表。

这篇解决什么问题

表格看起来是一整块,但脚本处理时通常拆成:

text
一行客户 -> 一个字典
多行客户 -> 一个列表
字段名 -> 字典里的 key
字段值 -> key 对应的 value

理解这个结构,后面的条件判断、循环、统计和文件输出都会更自然。

一位客户用字典

python
customer = {
    "name": "李雷",
    "phone": "13800000001",
    "city": "上海",
    "source": "官网",
}

"name""phone""city""source" 是字段名。它们保留了业务含义。

取手机号时写:

python
customer["phone"]

这比记“第几列”更清楚。

多位客户用列表

python
customers = [
    {"name": "李雷", "phone": "13800000001", "city": "上海"},
    {"name": "韩梅梅", "phone": "", "city": "杭州"},
    {"name": "王芳", "phone": "13900000003", "city": ""},
]

列表负责保存多条记录。以后用循环处理整张表,就是从这个列表里一位一位取客户。

安全取值

字段可能缺失。例如有些客户没有等级字段:

python
level = customer.get("level", "普通")

get 的第二个参数是默认值。字段不存在时,程序不会立刻报错,而是使用默认值。

默认值要谨慎使用。手机号、姓名这类关键字段缺失时,通常应该记录到异常名单,而不是直接默认。

运行示例

bash
python3 customer_records.py

它会输出:

  • 第一位客户姓名。
  • 每位客户的结构化描述。
  • 最近订单的嵌套字段示例。

完整代码要点

python
customers = [
    {
        "name": "李雷",
        "phone": "13800000001",
        "city": "上海",
        "source": "官网",
        "level": "VIP",
        "last_order": {"order_id": "A1001", "amount": 1200.5, "status": "paid"},
    },
    {
        "name": "韩梅梅",
        "phone": "",
        "city": "杭州",
        "source": "展会",
    },
]

这里 last_order 是一个嵌套字典。它表示一位客户内部还有一组订单信息。

客户结构模板

字段类型是否必填默认值
namestr
phonestr无,缺失要记录
citystr城市待补
sourcestr未知来源
levelstr普通
last_orderdict无订单

常见误区

误区后果修正
用列表位置表达字段表头一变,规则全乱用字典 key 表达字段名
默认值乱用关键缺失被掩盖关键字段缺失要记录
字段名不统一同一字段有多个写法先约定结构模板
嵌套太早新手取值路径变复杂先掌握一层结构

读完之后能完成什么

你应该能把一张客户表想象成“客户字典的列表”,并能写出一个字段结构模板。

继续学习

别急,先让缓存热一下。