如何获取csv文件中的行并将其用作表中列的值?

2024-03-28 09:57:20 发布

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

编写一个名为“csv_to_db”的函数,该函数将字符串作为表示csv文件名的参数,并且不返回值。在名为“的文件中保存了一个数据库”端口.db包含一个名为“import”的表,列为“luck”、“reported”和“isolate”。读取名称等于输入字符串的csv文件,并将该文件的每一行作为记录添加到表中。csv文件中的每一行将包含3个字符串作为其值,这些字符串应用作表中三列的值。在

import sqlite3
import csv
def csv_to_db(string):
    conn = sqlite3.connect('port.db')
    with open(string, 'r') as f:
        reader = csv.reader(f)
        for row in reader:
            c = conn.cursor()
            insert = c.executemany('INSERT INTO introduce VALUES (?, ?, ?)', row)
            conn.commit()

下面是我对这个问题的尝试;获取错误:当前语句使用3,并且提供了10个。我该怎么解决这个问题?在


Tags: 文件csvto函数字符串importdb参数
1条回答
网友
1楼 · 发布于 2024-03-28 09:57:20
import sqlite3
import csv
def csv_to_db(str):
    connection = sqlite3.connect('port.db')
    with open(str, 'r') as f:
        reader = csv.reader(f)
        for row in reader:
            c = connection.cursor()
            c.execute('INSERT INTO introduce VALUES(?,?,?)', (row[0],row[1],row[2]))
    connection.commit()

相关问题 更多 >