Python:将列表转换为字符串项

2024-04-26 15:01:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将数据插入SQL

这是一个简单的代码概念:

# Establish Connection to SQL Database
connection = sqlite3.connect("MyDatabase.db")
cursor = connection.cursor()

sql = "INSERT INTO Table_Expenses VALUES DB_QMarks"

data = ['40', '50', '10']

# Execute SQL Query
cursor.execute(sql, data)

当我执行此命令时,它返回一个错误:

预期:(“1”,“2020-01-04”,“40”,“50”,“10”)

实际结果:(“1”,“2020-01-04”,“40”,“50”,“10”)

DB\u QMarks是以前运行的创建“(?)”的代码对于数据列表中的每个对象。数据变量是从用户输入中附加的,因此没有长度的决定因素。我已经有代码创建“(?)”对于每个对象。这不是问题所在,问题是从数据结果中删除方括号,以便它在游标.执行功能。你知道吗

错误返回“当前语句使用5个绑定,仅提供3个”。如何将列表转换为不带括号的预期字符串。我试着转换成一个字符串,但是它用双引号(“)替换了方括号,同样的问题也发生了。你知道吗

谢谢


Tags: 数据对象字符串代码概念列表dbsql
1条回答
网友
1楼 · 发布于 2024-04-26 15:01:13
sql_output = ("1", "2020-01-04", ['40','50','10'])
# further processing into string as requested
string_output = ""
for x_val in sql_output:
    if type(x_val) == list:
        for val in x_val:
            string_output += "'" + str(val) + "' "
    else:
        string_output += "'" + str(x_val) + "' "
print(string_output)

相关问题 更多 >