You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复制他人代码仍遇IndexError: list index out of range问题求助

解决CSV遍历中的IndexError问题

问题原因

你的CSV文件里存在空行(包括文件末尾的空行),导致existing_clients列表里混入了空的子列表[]。当你用[x[0] for x in existing_clients]访问空列表的索引0时,自然会触发IndexError: list index out of range。

解决方案

方案1:读取时过滤空行

修改读取CSV的代码,只把非空的行加入列表:

import csv

existing_clients = []
with open("mock_data.csv") as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        # 只保留非空行
        if row:
            existing_clients.append(row)

方案2:提取元素时加判断

如果不想改动读取代码,就在提取第一个元素前先检查行是否非空:

first_name = input("Please enter the client's first name, note that the search function is case sensitive:")
# 仅对非空行提取第一个元素
name = [x[0] for x in existing_clients if x]
print(name)

额外优化

如果你的CSV文件有表头(比如第一行是列名),记得跳过表头行,避免把表头当成数据处理:

import csv

existing_clients = []
with open("mock_data.csv") as csvfile:
    reader = csv.reader(csvfile)
    # 跳过表头行
    next(reader)
    for row in reader:
        if row:
            existing_clients.append(row)

内容的提问来源于stack exchange,提问作者Nikita Kemp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 19:20:35