在Python3中读取UTF-8编码文件和文本文件

问题描述 投票:5回答:1

好的,所以python3和unicode。我知道所有python3字符串实际上都是unicode字符串,所有python3代码都存储为utf-8。但python3如何读取文本文件?是否假设它们是以utf-8编码的?在阅读文本文件时是否需要调用decode('utf-8')? pandas read_csv()和to_csv()怎么样?

python-3.x unicode utf-8
1个回答
6
投票

Python的built-in function open()有一个可选参数encoding

encoding是用于解码或编码文件的编码的名称。这应该只在文本模式下使用。默认编码取决于平台(无论locale.getpreferredencoding()返回什么),但可以使用Python支持的任何文本编码。有关支持的编码列表,请参阅codecs module

类似的参数可以在熊猫中找到:

  • pandas.read_csv()encoding:str,默认无。在读/写时用于UTF的编码(例如‘utf-8’)。
  • Series.to_csv()encoding:字符串,可选。对于3之前的python版本,表示内容为非ascii时要使用的编码的字符串。
  • DataFrame.to_csv()encoding:字符串,可选。表示要在输出文件中使用的编码的字符串,默认为Python 2上的‘ascii’和Python 3上的‘utf-8’
© www.soinside.com 2019 - 2024. All rights reserved.