Python 3.x 从数据帧写入CSV时发生编码错误

Python 3.x 从数据帧写入CSV时发生编码错误,python-3.x,encoding,decoding,Python 3.x,Encoding,Decoding,分解数据帧并尝试从数据帧以CSV格式写入数据。 数据有孟加拉语文本。在写的时候经常出错。几乎什么都试过了。但不起作用 以下是示例数据: [{ "reward_amount": ",8192", "code": "*21291*189#", "reward_names": ",Airtel Bonus", "name": "Apr20_ACLM_D_USSD_Tk189_8GB_30D_MdUsrNCCN_17-24May", "reward_valid

分解数据帧并尝试从数据帧以CSV格式写入数据。 数据有孟加拉语文本。在写的时候经常出错。几乎什么都试过了。但不起作用

以下是示例数据:

  [{
    "reward_amount": ",8192",
    "code": "*21291*189#",
    "reward_names": ",Airtel Bonus",
    "name": "Apr20_ACLM_D_USSD_Tk189_8GB_30D_MdUsrNCCN_17-24May",
    "reward_validity": ",30",
    "offermsg_channel": "SMS",
    "validity": "38",
    "offermsg_head": "AirtelOffer",
    "revenue_cat": "Dt,",
    "offer_msg": "\n\n\u09ee \u099c\u09bf\u09ac\u09bf - \u09e9\u09e6 \u09a6\u09bf\u09a8, \u09e7\u09ee\u09ef \u099f\u09be\u0995\u09be! \u0986\u099c\u0987 \u09a1\u09be\u09df\u09be\u09b2 \u0995\u09b0\u09c1\u09a8 *\u09e8\u09e7\u09e8\u09ef\u09e7*\u09e7\u09ee\u09ef#!\n\n",
    "action": "USSD",
    "reward_type": "Debit Revenue Info,ADCS Data Pack",
    "DUMP_DATE": "20200415 17:30:16",
    "deno_debit": "189",
    "CAMP_ID": "158035"
  },
  {
    "reward_amount": "",
    "reward_names": "",
    "name": "APR20_ACLM_V_EL_TK16_48P_30D_NRMTIC_16-30",
    "reward_validity": "",
    "offermsg_channel": "SMS",
    "validity": "17",
    "offermsg_head": "Best_Rate",
    "revenue_cat": "",
    "offer_msg": "\n\n   \u098f\u09df\u09be\u09b0\u099f\u09c7\u09b2\u09c7 \u09f3\u09e7\u09ec \u09b0\u09bf\u099a\u09be\u09b0\u09cd\u099c\u09c7 \u09ea\u09ee\u09aa/\u09ae\u09bf+\u099f\u09cd\u09af\u09be\u0995\u09cd\u09b8-\u09e9\u09e6\u09a6\u09bf\u09a8 \u0995\u09ae \u0996\u09b0\u099a\u09c7 \u09ac\u09c7\u09b6\u09bf \u0995\u09a5\u09be \u09b8\u09ac \u09a8\u0982\n\n",
    "action": "Recharge",
    "reward_type": "Discounted tariff",
    "DUMP_DATE": "20200415 17:30:14",
    "deno_debit": "16",
    "CAMP_ID": "158101"
  }]
编写的代码(请注意explode函数工作正常。它只是由于编码而无法写入的数据):

我得到的错误: Pycharm

Traceback (most recent call last):
  File "E:/PyCharm_Projects/hawk_Eye/make_csv_data.py", line 109, in <module>
    df.to_csv(wfh,sep='|',index=False,encoding='utf-8-sig')
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\core\generic.py", line 3228, in to_csv
    formatter.save()
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 202, in save
    self._save()
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 324, in _save
    self._save_chunk(start_i, end_i)
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 356, in _save_chunk
    libwriters.write_csv_rows(self.data, ix, self.nlevels, self.cols, self.writer)
  File "pandas/_libs/writers.pyx", line 69, in pandas._libs.writers.write_csv_rows
  File "C:\Program Files (x86)\Python37-32\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u09ee' in position 93: character maps to <undefined>
Traceback (most recent call last):
  File "./make_csv_data.py", line 114, in <module>
    df.to_csv(wfh,sep='|',encoding='utf-8-sig',index=False)
  File "/usr/local/lib/python3.6/site-packages/pandas/core/frame.py", line 1745, in to_csv
    formatter.save()
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 151, in save
    self._save()
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 263, in _save
    self._save_chunk(start_i, end_i)
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 290, in _save_chunk
    self.cols, self.writer)
  File "pandas/_libs/writers.pyx", line 81, in pandas._libs.writers.write_csv_rows
UnicodeEncodeError: 'ascii' codec can't encode character '\u09ee' in position 100: ordinal not in range(128)
回溯(最近一次呼叫最后一次):
文件“E:/PyCharm\u Projects/hawk\u Eye/make\u csv\u data.py”,第109行,在
df.to_csv(wfh,sep='|',index=False,encoding='utf-8-sig')
文件“E:\PyCharm\u Projects\hawk\u-Eye\venv\lib\site-packages\pandas\core\generic.py”,第3228行,输入到\u-csv
格式化程序。保存()
文件“E:\PyCharm\u Projects\hawk\u Eye\venv\lib\site packages\pandas\io\formats\csvs.py”,第202行,保存
self._save()
文件“E:\PyCharm\u Projects\hawk\u Eye\venv\lib\site packages\pandas\io\formats\csvs.py”,第324行,保存
self.\u保存块(开始、结束)
文件“E:\PyCharm\u Projects\hawk\u Eye\venv\lib\site packages\pandas\io\formats\csvs.py”,第356行,在保存块中
libwriters.write_csv_行(self.data、ix、self.nlevels、self.cols、self.writer)
文件“pandas/_libs/writers.pyx”,第69行,在pandas._libs.writers.write_csv_行中
文件“C:\Program Files(x86)\Python37-32\lib\encodings\cp1252.py”,第19行,编码
返回codecs.charmap\u encode(输入、自身错误、编码表)[0]
UnicodeEncodeError:“charmap”编解码器无法对位置93中的字符“\u09ee”进行编码:字符映射到
Linux

Traceback (most recent call last):
  File "E:/PyCharm_Projects/hawk_Eye/make_csv_data.py", line 109, in <module>
    df.to_csv(wfh,sep='|',index=False,encoding='utf-8-sig')
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\core\generic.py", line 3228, in to_csv
    formatter.save()
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 202, in save
    self._save()
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 324, in _save
    self._save_chunk(start_i, end_i)
  File "E:\PyCharm_Projects\hawk_Eye\venv\lib\site-packages\pandas\io\formats\csvs.py", line 356, in _save_chunk
    libwriters.write_csv_rows(self.data, ix, self.nlevels, self.cols, self.writer)
  File "pandas/_libs/writers.pyx", line 69, in pandas._libs.writers.write_csv_rows
  File "C:\Program Files (x86)\Python37-32\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u09ee' in position 93: character maps to <undefined>
Traceback (most recent call last):
  File "./make_csv_data.py", line 114, in <module>
    df.to_csv(wfh,sep='|',encoding='utf-8-sig',index=False)
  File "/usr/local/lib/python3.6/site-packages/pandas/core/frame.py", line 1745, in to_csv
    formatter.save()
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 151, in save
    self._save()
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 263, in _save
    self._save_chunk(start_i, end_i)
  File "/usr/local/lib/python3.6/site-packages/pandas/io/formats/csvs.py", line 290, in _save_chunk
    self.cols, self.writer)
  File "pandas/_libs/writers.pyx", line 81, in pandas._libs.writers.write_csv_rows
UnicodeEncodeError: 'ascii' codec can't encode character '\u09ee' in position 100: ordinal not in range(128)
回溯(最近一次呼叫最后一次):
文件“/make_csv_data.py”,第114行,在
df.to_csv(wfh,sep='|',encoding='utf-8-sig',index=False)
文件“/usr/local/lib/python3.6/site packages/pandas/core/frame.py”,第1745行,输入到csv
格式化程序。保存()
文件“/usr/local/lib/python3.6/site packages/pandas/io/formats/csvs.py”,第151行,保存
self._save()
文件“/usr/local/lib/python3.6/site packages/pandas/io/formats/csvs.py”,第263行,保存
self.\u保存块(开始、结束)
文件“/usr/local/lib/python3.6/site packages/pandas/io/formats/csvs.py”,第290行,在保存块中
self.cols,self.writer)
文件“pandas/_libs/writers.pyx”,第81行,在pandas._libs.writers.write_csv_行中
UnicodeEncodeError:“ascii”编解码器无法对位置100处的字符“\u09ee”进行编码:序号不在范围内(128)
应该如何解决此错误