作者ob556 (^o^OoB)
看板Python
标题[问题] 输出中文text档案
时间Tue Nov 13 20:32:34 2012
最近开始接触python(2.7)
尝试用python读入一个txt档
内容大致如下:
1,台北市松山区
2,台北市文山区
3.高雄市三民区
..............................
我要使用split(',')将数字、和地区分开进行一些处理後
再输出储存至另一个txt档中
现在遇到的问题是我输出後的txt档没办法正确显示中文
测试程式码如下:(目前尚未进行处理的部分,只是想测试输出档案)
# -*- coding: Big5 -*-
import os
address = raw_input('欲转换档案之档名(包括.txt, 最好是英文):')
txtContent=open(address)
txt=open('check.txt','w')
c = 0
for line in txtContent:
if c == 0:
c+=1
continue
no,addr = line.split(',')
a = [no,addr]
b =str(a)
txt.write(b)
print b
txtContent.close()
txt.close()
但输出结果如下:
['\x001\x00',
'\x00\xd8\x9a\xc4\x96\x02^\x1fW\xab^2\x00\xef\x8d2\x006\x003\x00_\x86\r\x00\n']
['\x002\x00', '\x00\xd8\x9a\xc4\x96\x02^^t][W\x886\x004\x00_\x86\r\x00\n']
['\x003\x00',
'\x00\xd8\x9a\xc4\x96\x02^"o\x11l\xef\x8d1\x003\x008\x00_\x86\r\x00\n']
请问这要如何解决><?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.123.123
1F:→ lulala453:试过 codecs.open(filel, mode, 'utf-8') 来开档了吗 11/13 20:46
2F:→ ob556:试过 但直接出现错误:TypeError: an integer is required 11/13 20:52
3F:→ ob556:我之前未用str()直接在IDLE中print,可以正常显示中文 11/13 20:54
4F:→ ob556:但要写进txt档中好像要先转成string?? 11/13 20:55
5F:推 ee55244:不用转成字串...可以直接写进去档案里没问题... 11/13 21:33
6F:→ ee55244:如果你接下来会用到pyshp的话也是直接写进去就好 11/13 21:34
7F:推 chigi:因为list.tostring()没那麽聪明不会帮你把里面东西拿出来 11/13 23:36
8F:→ chigi:变成字串 而是自己变成字串 11/13 23:36
9F:→ tjjh89017:b.encoding('utf-8') <=这样呢? 11/15 17:25