0
私はのPythonとの新しいプロジェクトを開始します。です。Python MySQLの文字コードでの一括挿入エラー
私はちょうどMySQLdbはパッケージを介してCSVからのMySQLにレコードの数百万人を挿入してみてください。
マイコード:
import pandas as pd
import MySQLdb
#Connect with MySQL
db = MySQLdb.connect('localhost','root','****','MY_DB')
cur = db.cursor()
#Reading CSV
df = pd.read_csv('/home/shankar/LAB/Python/Rough/******.csv')
for i in df.COMPANY_NAME:
i = i.replace("'","")
i = i.replace("\\","")
#i = i.encode('latin-1', 'ignore')
cur.execute("INSERT INTO polls_company (name) VALUES ('" + i + "')")
db.commit()
このコードCSVファイルのいくつかの並べ替えでは正常に動作しますが、いくつかのCSVファイルに問題を抱えて。
エラー:ここ
---------------------------------------------------------------------------
UnicodeEncodeError Traceback (most recent call last)
<ipython-input-7-aac849862588> in <module>()
13 i = i.replace("\\","")
14 #i = i.encode('latin-1', 'ignore')
---> 15 cur.execute("INSERT INTO polls_company (name) VALUES ('" + i + "')")
16 db.commit()
/home/shankar/.local/lib/python3.5/site-packages/MySQLdb/cursors.py in execute(self, query, args)
211
212 if isinstance(query, unicode):
--> 213 query = query.encode(db.unicode_literal.charset, 'surrogateescape')
214
215 res = None
UnicodeEncodeError: 'latin-1' codec can't encode character '\ufffd' in position 49: ordinal not in range(256)
、この「文字エンコーディング」問題は、いくつかのCSVファイルで発生しているが、私は、共通の符号化技術と自動挿入をしたいです。 "UTF-8"、 "ラテン-1" とよりを持つCSVファイルのエンコードされた作品のため
...
私はUTF-8を使用する場合:私は、ラテン-1 にエラーが発生しましたそしてだから、その逆
を万力、これを解決するために、他の方法の一般的なエンコードで
または
をCSVファイルのすべての種類を操作するための任意の方法はありますか?
[事前のおかげで...]
次に、複数の列を処理する場合のabtはどういう意味ですか? –
しかし、このコードは "エラー:終了していない文字セットを位置0に" –