简体   繁体   English

Python Dataframe 到 CSV - UnicodeEncodeError: 'charmap' 编解码器无法编码字符

[英]Python Dataframe to CSV - UnicodeEncodeError: 'charmap' codec can't encode characters

I use the following code to save roughly 6.000 scraped profiles from a dataframe to a csv:我使用以下代码从 dataframe 到 csv 中保存大约 6.000 个刮取的配置文件:

profiles.to_csv (r'C:\Users\alexa\Desktop\profiles.csv', index = False, header=True, encoding="cp1252" )

Inbetween the script stops giving me the following error message.在脚本之间停止给我以下错误消息。 The csv file contains roughly 1.500 profiles which were successfully written into the csv before it breaks - does anyone know how to solve this? csv 文件包含大约 1.500 个配置文件,这些配置文件在损坏之前已成功写入 csv - 有人知道如何解决这个问题吗?

Traceback (most recent call last): File "C:\Users\alexa\PycharmProjects\cameo\main.py", line 75, in profiles.to_csv (r'C:\Users\alexa\Desktop\cameo_profiles.csv', index = False, header=True, encoding="cp1252") File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\core\generic.py", line 3466, in to_csv return DataFrameRenderer(formatter).to_csv( File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\format.py", line 1105, in to_csv csv_formatter.save() File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs.py", line 257, in save self._save() File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs.py", line 262, in _save self._save_body() File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs.py", line 300, in _save_body self._save_chunk(start_i, end_i) File "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs. Traceback(最近一次调用最后一次):文件“C:\Users\alexa\PycharmProjects\cameo\main.py”,第 75 行,在profiles.to_csv(r'C:\Users\alexa\Desktop\cameo_profiles.csv', index = False, header=True, encoding="cp1252") 文件“C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\core\generic.py”,第 3466 行,在 to_csv 返回DataFrameRenderer(formatter).to_csv( 文件 "C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\format.py",第 1105 行,在 to_csv csv_formatter.save() 文件中“C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs.py”,第 257 行,保存 self._save() 文件“C:\Users\alexa\ PycharmProjects\cameo\venv\lib\site-packages\pandas\io\formats\csvs.py”,第 262 行,在 _save self._save_body() 文件“C:\Users\alexa\PycharmProjects\cameo\venv\lib\ site-packages\pandas\io\formats\csvs.py”,第 300 行,在 _save_body self._save_chunk(start_i, end_i) 文件“C:\Users\alexa\PycharmProjects\cameo\venv\lib\site-packages\pandas \io\格式\csvs。 py", line 311, in _save_chunk libwriters.write_csv_rows( File "pandas_libs\writers.pyx", line 72, in pandas._libs.writers.write_csv_rows File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544.0_x64__qbz5n2kfra8p0\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 15-22: character maps to py", line 311, in _save_chunk libwriters.write_csv_rows( File "pandas_libs\writers.pyx", line 72, in pandas._libs.writers.write_csv_rows File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2544 .0_x64__qbz5n2kfra8p0\lib\encodings\cp1252.py",第 19 行,在编码中返回 codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode characters in position 15-22:字符映射到

Process finished with exit code 1进程以退出代码 1 结束

The error says that some cells in your dataframe contain character that cannot be converted into the cp1252 charset.该错误表明 dataframe 中的某些单元格包含无法转换为 cp1252 字符集的字符。 If you have a recent version of Pandas (>= 1.0) you can use the errors parameter of to_csv .如果您有最新版本的 Pandas (>= 1.0),您可以使用to_csverrors参数。 For example errors='replace' will just put a replacement character (often ? ) for any offending character:例如errors='replace'只会为任何有问题的字符放置一个替换字符(通常是? ):

profiles.to_csv (r'C:\Users\alexa\Desktop\profiles.csv', index = False,
                 header=True, encoding="cp1252", errors='replace' )

Alternatively, you could try to use UTF-8 which can represent any unicode character:或者,您可以尝试使用 UTF-8 可以代表任何 unicode 字符:

profiles.to_csv (r'C:\Users\alexa\Desktop\profiles.csv', index = False,
                 header=True, encoding="utf8" )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 CSV模块触发“ UnicodeEncodeError:&#39;charmap&#39;编解码器无法编码字符” - “UnicodeEncodeError: 'charmap' codec can't encode characters” triggered by CSV module UnicodeEncodeError: 'charmap' 编解码器无法编码字符 - UnicodeEncodeError: 'charmap' codec can't encode characters Python,UnicodeEncodeError:“ charmap”编解码器无法在位置编码字符 - Python, UnicodeEncodeError: 'charmap' codec can't encode characters in position UnicodeEncodeError: 'charmap' 编解码器无法编码字符/写入 txt 文件 - UnicodeEncodeError: 'charmap' codec can't encode characters/ writing in txt file python错误codecs.charmap_encode(input,errors,encoding_map)UnicodeEncodeError:&#39;charmap&#39;编解码器无法编码字符 - python error codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeError: 'charmap' codec can't encode characters Python Selenuim - UnicodeEncodeError 'charmap' 编解码器无法编码 - Python Selenuim - UnicodeEncodeError 'charmap' codec can't encode Python UnicodeEncodeError:使用 GEOPY 时无法编码“charmap”编解码器 - Python UnicodeEncodeError: 'charmap' codec can't encode when using GEOPY MongoDB中的Python错误“ UnicodeEncodeError:&#39;charmap&#39;编解码器无法编码字符” - Python error “UnicodeEncodeError: 'charmap' codec can't encode character” in MongoDB 有没有办法在 Pandas python 中解决这个问题——“UnicodeEncodeError: &#39;charmap&#39; codec can&#39;t encode characters in position”? - Is there a way to solve this issue in pandas python - " UnicodeEncodeError: 'charmap' codec can't encode characters in position "? Python-UnicodeEncodeError:“ charmap”编解码器无法对位置85-89中的字符进行编码:字符映射到<undefined> - Python - UnicodeEncodeError: 'charmap' codec can't encode characters in position 85-89: character maps to <undefined>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM