1

最初の行のサンプルを次に示します。

link,Title,Description,Keywords

Excelワークブックから作成され、すべてのCSV形式(window、ms-dos、およびカンマ区切りリスト)で保存しようとしました2つのtxtファイル形式(window、ms-dos)で保存しようとしました

k ...コードは次のとおりです。

csvReader = csv.reader(file('files/my_file.csv', "rU"), delimiter=',')

Uが必要です。そうしないと、ユニバーサル改行エラーが発生します

k ...ここにエラーがあります:

16:56:25,085 ERROR [__main__] Script Error: syntax error at or near "."
LINE 1: ...escription, meta_keywords) VALUES ('link', 'Title'. 'Descrip...
                                                             ^

16:56:25,085 ERROR [__main__] Script Error: syntax error at or near "."
LINE 1: ...escription, meta_keywords) VALUES ('link', 'Title'. 'Descrip...

愚痴 ほら…なぜかcsv.reader関数を通すと最初のカンマはOK、2番目のカンマはピリオドに

誰もこれに遭遇したことがありますか?

4

3 に答える 3

3

上記のDalkesのコメントは私のためにコインを落としました:

あなたはCSVファイルから読み取り、そのデータを取得してSQLデータベースに挿入していますが、そうは言わなかったようです。SQLステートメントに構文エラーがあります。

ほとんどのSQLデータベースにはCSVインポートがあるため、それらを作成する必要はありません。また、明らかに列見出しを含む最初の行をインポートしようとしていることにも注意してください。それは確かに間違っています。

これはすべて、Stackoverflowで問題のある実際のコードを表示することが重要であることを示しています。ここに貼り付けるのに十分小さいコードで問題が表示されるまで、コードを絞り込みます。

99%の確率で、それを実行しているときにエラーが見つかります。

于 2010-01-26T23:32:45.617 に答える
1

それは価値観です!そうねえ、しかし、私はlog.debugを実行し、それがSQLの前にあった出力を見ませんでした...しかし、それはそれが何であるかを最も明確に示しています。最初の行をインポートしようとしていませんでした。実際のデータを表示しないように意図的に挿入しました。ご不便おかけしてすみません。コードが投稿した行を超えているとは思いませんでした。そして、ファイル名以外はすべて実際のコードです。私はSQLではなくPythonを初めて使用するので、csv.readerは私にとって非常に異質であるため、それがcsv.readerであると確信していました。助けてくれてありがとう。

于 2010-01-27T14:09:18.307 に答える
0

csv.reader、投稿したエラーメッセージにフラグメントが表示されているSQLステートメントを作成する責任を負いません。コードの他の部分は、このステートメントを作成する部分である必要があり、間違った方法で実行しています。したがって、については考えないcsv.readerください。ただし、タプルをどのように処理するかについては、コードの残りの部分に戻ります!-)

于 2010-01-26T23:35:11.373 に答える