在土地报批中经常会遇到报批的TXT文本的编码是ANSI,这就导致利用arcpy批量将文本中的坐标点转换为矢量图形的脚本中因为编码问题报错。为了方便和其他已写好的脚本结合,这时候将ANSI编码统一成UTF-8 就很有必要。以下是转换代码:
# coding=utf-8
import codecs
def convert_ansi_to_utf8(input_file, output_file):
with codecs.open(input_file, 'r', 'GBK') as f:
content = f.read()
with codecs.open(output_file, 'w', 'utf-8') as f:
f.write(content)
inpath = r'C:\Users\Lenovo\Desktop\批次坐标材料.txt'.decode('utf-8')
outpath = r'C:\Users\Lenovo\Desktop\output.txt'
convert_ansi_to_utf8(inpath, outpath)
codecs模块是Python中用于字符编码和解码的标准库之一,codecs模块提供了多个函数和类来处理字符编码,codecs中最常用的函数是open(),他可以以制定的编码方式打开文件,进行读写操作。