有一批Unicode编码的TXT文件需要处理,用Python打开时出现错误:LookupError: unknown encoding: Unicode
求教解决方法(最好不要改变TXT的文件格式,因为文件太多!)
1.程序代码如下:import openpyxl
contents=[]
def read_txt():
file_txt=open(r'1.txt','r',encoding = 'Unicode')#打开txt文件
for i in file_txt:
contents.append(i.split())#遍历txt文件内容存放到列表
file_txt.close()
print(contents)
def write_excel():
wb=openpyxl.Workbook()#创建1个工作簿
ws=wb.create_sheet(u'测试1')#用工作簿去创建工作表sheet
for i,content in enumerate(contents):
for j in range(len(content)):
ws.cell(i+1,j+1,content[j])#用工作表sheet调用单元格,写入内容
wb.save('2.xlsx')#保存文件名
read_txt()
write_excel()
2. 错误提示如下:Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 18 2019, 23:46:00) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
=============== RESTART: E:\Work\Python\Excel\04-txt写入Excel文件.py ===============
Traceback (most recent call last):
File "E:\Work\Python\Excel\04-txt写入Excel文件.py", line 18, in <module>
read_txt()
File "E:\Work\Python\Excel\04-txt写入Excel文件.py", line 4, in read_txt
file_txt=open(r'1.txt','r',encoding = 'Unicode')#打开txt文件
LookupError: unknown encoding: Unicode
本帖最后由 tryhi 于 2021-1-11 15:19 编辑 import chardet
f=open('1.txt', 'rb')
data = f.read()
print(chardet.detect(data))
先判断一下是什么格式吧
Unicode编码应该是用UTF-16
|