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

Python sqlite3代码可运行但报IndexError及字段末尾出现省略号问题求解

Python操作SQLite问题修复方案

问题1:IndexError列表索引越界报错

报错原因

读取weapons.txt每行内容时,存在不符合内容1;内容2;内容3格式的行:

  • 可能是文件末尾存在空行
  • 可能是某行的分隔符;数量不足2个
  • 可能是行首尾带有未处理的换行符、空白字符,导致拆分后列表长度小于3,访问索引[2]时触发越界。

修复方案

遍历文件行时增加预处理和合法性校验,修改遍历插入的代码段如下:

for i in weapons_txt:
    # 去除行首尾所有空白字符(含换行符、空格、制表符)
    clean_line = i.strip()
    # 跳过空行
    if not clean_line:
        continue
    # 拆分后统一校验长度
    field_list = clean_line.split(";")
    if len(field_list) >= 3:
        # 每个字段单独去除首尾空白后再插入
        cursor.execute("Insert into weapons values(?,?,?)",
                      (field_list[0].strip(), field_list[1].strip(), field_list[2].strip()))
        con.commit()

问题2:source字段末尾出现多余...

报错原因

原始读取的每行末尾默认带有换行符\n,该不可见字符被存入source字段后,部分SQL查询工具会将不可见特殊字符转换为...展示。如果未做字段预处理,也可能是源文件字段末尾自带的多余空白/特殊符号导致的展示异常。

修复方案

参考问题1的修复代码,插入前对每个字段调用.strip()方法清理首尾空白和特殊字符即可解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:06:04