私はPythonの初心者です。私はSQL Serverからデータを読み込み、データをcsvファイルに書き出します。テーブル行には、数値、文字列、日時の両方の値があります。私はデータを書き込むさまざまな方法を試しました。たとえば、UnicodeEncodeError: 'charmap'コーデックは、文字 ' u5347'を位置68にエンコードできません:文字マップは<undefined>になります。
#method 1
import pandas as pd
df = pd.DataFrame(table, columns=["colummn"])
df.to_csv('list.csv', index=False)*
#method 2
import csv
fl = open('OnlineplayDatabase.csv', 'w')
writer = csv.writer(fl)
for row in table:
writer.writerow(row)
fl.close()
通常、両方の方法が動作しています。しかし、一部の行に漢字が含まれていると(下記の例を参照)、エンコードエラーが発生しました。エラーメッセージには、
codecs.charmap_encode(input,self.errors,encoding_table)[0]
#Error Code
UnicodeEncodeError: 'charmap' codec can't encode character '\u5347' in position 68: character maps to <undefined>
utf-8を使用して行のフィールドをエンコードしようとしました。しかし、いくつかのフィールドは数字です。
ご協力いただきありがとうございます。
('120.239.9.116 ',
'gyandroid ',
4,
9,
'Dalvik/1.6.0(Linux;U;Android4.4.2;升级版Build/KVT49L) datetime.datetime(2016, 6, 11, 20, 54, 19),
datetime.datetime(2016, 6, 11, 20, 56, 53),
11521.0)