import csv
import sqlite3
connection = sqlite3.connect('db.db')
cursor = connection.cursor()
cursor.execute('DROP TABLE IF EXISTS users')
cursor.execute('CREATE TABLE users (Nom TEXT,Prenom TEXT,Date de naissance DATE,Fonction TEXT,Departement TEXT,Courriel TEXT,Telephone varchar(15)) ')
connection.commit()
csvfile = open('data.csv',"rt")
creader = csv.reader(csvfile, delimiter=',', quotechar='|')
t = 0
for t in creader:
cursor.execute(('INSERT INTO users VALUES(?,?,?,?,?,?,?)', t))
csvfile.close()
connection.commit()
connection.close()
私のスクリプトの16行目でブロックされています。"ValueError:操作パラメータはstrでなければなりません"
: これは、生成されたエラーがある 「」私は、セパレータを使用してforループを繰り返し、私のデータベースに値を追加するコメント(ダニエル)なし
全体のコードですcsvファイルから
line 16, in cursor.execute(('INSERT INTO users VALUES(?,?,?,?,?,?,?)', t,)) ValueError: operation parameter must be str
エキス:
Nom;Prenom;Date de naissance;Fonction;Departement;Courriel;Telephone
DOE;John;10/10/1950;Directeur;Direction;[email protected];01 02 03 04 05
は多分私のcsvファイルが破損していますか?
完全なトレースバックは:
23行目ではなく16行目のようです。実際のコードと完全なトレースバックを表示してください。 –
コードとトレースバックが更新されました:) – Yass
data.csvの内容の抽出も役立ちます。また、なぜ 't = 0'ですか? –