2017-06-11 5 views
0

私はスクレイピングプロジェクトに取り組んでいます。私はデータベースにデータを挿入することに苦労しています。PythonリストをPostgreSQLデータベースに挿入します。

私のデータベースには、id、post、authorという3つの列があります。 スクラップされたデータは2つのリストに格納されます。最初のものはリストの投稿、もう1つは著者です。両方の同じ長さは、コンテンツがない記事や著者がない記事がないためです。

私はthis質問で提供される解決策を試してみたが、私はこのエラーを得た:

Traceback (most recent call last): 
File "scrape.py", line 69, in <module> 
cur.execute("INSERT into posts(id, post, author) VALUES (%s, %s, %s)", authors) 
TypeError: not all arguments converted during string formatting 

は私のリストは、次のようになります。

author = [n1, n2, n3 ... n45] 
posts = [n1, n2, n3 ... n45] 

そして、私はこのようなデータベースにそれらを挿入したいと思います:

ID | Post | Author 
---|------|-------- 
1 | Text | Author 
2 | Text | Author 

その後、pの値から統計情報を抽出する必要があります最初の列。正確な言葉と回数が表示されますが、それは別の質問の対象となると思います。

+0

あなたのリストには45の値があり、書式は3文字列の –

+0

@ cricket_007なので、私は間違いを犯したと思うので、データを掻き取って行ごとに追加する必要があります私は正しい? – Zubru

答えて

1

投稿者の一覧を投稿の一覧に挿入しようとしましたか?それは意味をなさない。

は、きっとあなたもチェックしてください、ID値が通常の整数ですが、あなたは、個々のリストを維持したい場合は、文字列

として書式設定されているように見えるこの

data = [(1, 'post', 'author'), (2, 'post', 'author')] 
for d in data: 
    cur.execute("INSERT into posts(id, post, author) VALUES (%s, %s, %s)", d) 

ような何かを探していますzip(posts, authors)

+0

ありがとう!あなたは私の一日を救った!私は自分のコードで間違った考え方をしたとは思っていないほど頑張っていました。 – Zubru

関連する問題