我用python将结果写入txt文件出现的编码问题及其解决方法

问题描述:

       从workbench中导出了一张数据表的sql脚本,把扩展名改为.py,在第一行加上#!/usr/bin/python,第二行加上
# -*- coding: utf-8 -*-,将无关内容删除,只留下元组格式的数据部分(含有汉字),用vi编辑器将圆括号全部替换成方括号。数据成为了n维数组,将其赋值给变量a,在数据后边编写python语句,

for i in range(len(a)):
   del a[i][6]
b = str(a)
file = open('test.txt','w+')
file.write(b)
file.close()

将每个子数组特定位置的元素删除,将结果写入txt文件。结果txt文件中的汉字全部成为'\xe9\x85\x92\xe7\xb1\xbb'这样的编码字符,诸多尝试,仍无法将python的输出结果直接显示成汉字。

解决方法:

       将text.txt中的n维数组外边加上双引号(不能是单引号,因为数组内部已经有了单引号),赋值给变量b,b就成了字符串。后边加上以下代码:

file = open('final.txt','w+')
file.write(b)
file.close()

将text.txt扩展名改为.py,在终端中执行它,就生成了final.txt,里面的汉字能正常显示了。

总结一下:first.sql(first.py)--->middle.txt(middle.py)--->final.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值