【问题标题】:python sqlite code works but i get some errorspython sqlite代码有效,但我得到一些错误
【发布时间】:2021-11-26 05:24:17
【问题描述】:

我写了一些代码来学习 SQL 数据库。我的代码可以正常工作,就像我想要的那样。但我得到了这个错误,想知道那是什么。

import sqlite3
con = sqlite3.connect("items.db")
cursor = con.cursor()
cursor.execute("Create table if not exists weapons (name TEXT,ilvl TEXT,source TEXT)")

weapons_txt = open("C:\\Users\\kaytu\\Desktop\\Python\\Exercises\\weapons.txt","r")

for i in weapons_txt:
    cursor.execute("Insert into weapons values(?,?,?)",(i.split(";")[0],i.split(";")[1],i.split(";")[2],))
    con.commit()

weapons_txt.close()
con.close()
Traceback (most recent call last):
File "c:\Users\kaytu\Desktop\Python\Exercises\Testing.py", line 9, in <module>
    cursor.execute("Insert into weapons values(?,?,?)",(i.split(";")[0],i.split(";")[1],i.split(";")[2],))
IndexError: list index out of range

为什么我在每个源文本之后都得到“...”字符串? printscreen

【问题讨论】:

    标签: python sql database sqlite split


    【解决方案1】:

    这表示txt文件中至少有一行的分号少于两个,再次检查文件的所有行

    【讨论】:

    • 打开文件时每行至少有两个分号吗?
    • 这是我的 txt 文件:file.io/dlTK562SoWfB
    • 页面显示“您请求的文件已被删除”,但这不是问题,只需在另一个包含几行的文件上尝试它,并确保每行至少有两个分号... .例如试试这个文件file.io/zEhA8KvvILdS
    • 它和你的文件一模一样,仍然出现错误:(
    • 确保文件在正确的位置,并且您使用的终端的工作目录与文件的工作目录相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多