※ ChatGPTを利用し、要約された質問です(原文:Django Python csv エラー)
Django Python csv エラー
下記のようなエラーでて解決できないです。
Unicodeのエラー?
解決できるやり方がわからなくて困っています。誰かがご教授お願いいたします。
データベースに保存しょうと思ったら不正な文字列値のエラーがでてきました。
ご教授お願いいたします!
エラー:
(1366, "Incorrect string value: '\\x8E\\x81\\x96\\xBC\\x83J...' for column 'user_name' at row 1")
私のViews.py
def import_csv(request):
response = HttpResponse(mimetype='application/vnd.ms-excel; charset=UTF-8')
response['Content-Disposition'] = 'attachment; filename=file.csv'
reader = csv.reader(response)
with open('C:\Users\hasichaolu\Desktop\mkc\Py_meshi\sample.csv', 'r+b') as f:
reader = csv.reader(f)
for row in reader:
tmp = User.objects.create()
tmp.UserID = row[0]
tmp.user_name = row[1]
tmp.first_kana = row[2]
tmp.save()
お礼
ご指摘、ありがとうございます。とても勉強になりました。 >>前回の質問( http://oshiete.goo.ne.jp/qa/8492654.html ) で「登録日」は>>Unicodeになっているようです。 >>提示された部分に、日付を処理している部分が見当たらないのですが、そちら>>ではUnicode対応していませんか? 対応はしていませんでした。必要がなかったため、削除しました。 あとは、データベースのalin1からclient,databaseなどを全部UTF-8に変えただけです。
補足
codecs.open('C:\Users\hasichaolu\Desktop\mkc\Py_meshi\sample.csv', 'r+b',encode='utf-8') as f: にしたら動いてくれたけど、なんか違和感があります!