これは私の最初の投稿です!私もプログラミングを始めたばかりですので、ご容赦ください!
後でデータに関するさまざまなレポートを実行するために、一連の.csvファイルをデータベースにロードしようとしています。私は、フィールド名とデータ型をテーブルにロードされるものと一致させるmysqlでいくつかのテーブルを作成することから始めました。(テーブルのフィールドとして使用する日付を解析するために)ファイル名を操作し、Pythonでデータをクリーンアップしています。
したがって、現在の私の問題(笑...)は、mysqlに対して「InsertInto」クエリを実行しようとすると、このエラーメッセージが表示されることです。
Traceback (most recent call last):
File "C:\Program Files\Python\load_domains2.py", line 80, in <module>
cur.execute(sql)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "C:\Program Files\Python\lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: (1054, "Unknown column 'a1200e.com' in 'field list'")
「a1200e.com」は、その列に挿入している特定のドメイン名を指します。私の質問は次のとおりです。
sql="""INSERT INTO temporary_load
(domain_name, session_count, search_count, click_count,
revenue, revenue_per_min, cost_per_click, traffic_date)
VALUES (%s, %d, %d, %d, %d, %d, %d, %s)""" %(cell[0],
int(cell[1]),
int(cell[2].replace (",","")),
int(cell[3].replace(",","")),
float(cell[4].replace("$","")),
float(cell[5].replace("$","")),
float(cell[6].replace("$","")),
parsed_date)
cur.execute(sql)
私はまったく新しいので、コードはまったく効率的ではないと確信していますが、すべてをレイアウトしたかったので、わかりやすくなっています。私が理解していないのは、テーブルに正しく定義されたデータ型(クエリのデータ型に対応)があることを確認したことです。足りないものはありますか?私はしばらくの間これを解決しようとしてきましたが、何が間違っているのかわかりません:/
本当にありがとう!!!ヴァル