0
import csv, sqlite3

con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("CREATE TABLE TWITTER_HANDLE (twitter_handle TEXT);")

with open('/Users/hyunjincho/Desktop/twitter_handle.csv','r') as fin:
     reader = csv.reader(fin)
     dicts = ({'twitter_handle': line[0]} for line in reader)
     to_db = ((i['twitter_handle']) for i in dicts)
cur.execute('INSERT INTO TWITTER_HANDLE (twitter_handle)', to_db)
con.commit()

pythonは行でエラーをスローしています

  cur.execute('INSERT INTO TWITTER_HANDLE (twitter_handle)', to_db)

エラーメッセージは

   near ")": syntax error

コードにエラーが表示されないため、python がこのエラーをスローする理由がわかりません。しかし、私はPythonに慣れていないので、見つけられないエラーがあるかもしれません.

編集: 以下は、エラーの完全なトレースバックです。

        OperationalError                          Traceback (most recent call last)
        <ipython-input-15-9039bb2204be> in <module>()
        46     to_db = ((i['twitter_handle']) for i in dicts)
        47 
   ---> 48 cur.execute('INSERT INTO TWITTER_HANDLE (twitter_handle)', to_db)
        49 con.commit()
        50 

   OperationalError: near ")": syntax error
4

1 に答える 1

0

構文は次のようにする必要があると思います。

cur.execute('INSERT INTO TWITTER_HANDLE (twitter_handle) VALUES(?)', to_db)

?がパラメータを参照する場所to_db

于 2013-10-23T02:55:07.157 に答える