如何在python中读取空格分隔的文件?

大家好,
我想读取映射文件的文件。用于从ttf映射字符
到Unicode。
例如
地图文件包含以下方式包含数据:
0à¥
1१
2�
3३
4४
5५
6६
7à¥*
8८
9९
像这样。如果不正确的话,请使用任何Unicode编辑器查看文本
显示。
现在,我想单独阅读两个角色:
str [0] = 0和str2 [0] =à¥
我怎样才能做到这一点?
请给我解决方案吗?
问候,
ginovation

# 回答1


2008年11月21日星期五14:16:13 +0530,Ganesh Gajre写道:
好吧,因为你说...
我假设第二列的编码为UTF-8。你需要一些东西
像这样:
#未经测试。
列0 = []
列1 = []
对于打开的行(" somefile"," r'):
a,b = line.split()
列0.append(a)
列1.append(b.decode('utf-8'))
- -
史蒂文
# 回答2


Ganesh Gajre写道:
阅读文件:
编码=" UTF-8")]]
[u'0',u'\ u0966']
创建转换字典:
进行翻译:
१§à¥§§à¥¦
您可能必须在实际的转换代码中使用INT(S)而不是ORD:
०§§à¥
彼得
# 回答3


2008年11月21日,上午2:08,史蒂文·达普拉诺(Steven D'Aprano)写道:
请注意,在这样的情况下,您可能需要考虑使用
分区而不是拆分:
a,sep,b = line.partition('')
这样,如果碰巧有一个以上的空间(例如,
因为您映射到的Unicode字符恰好是
空间),它仍然可以工作。它也更好地编码了意图,
是仅在行中的第一个空间上分开,而不是在每个空间
空间。
(碰巧我昨天遇到了这个问题,尽管我
定界符是一个结肠。)
干杯,
- 乔
# 回答4


乔·斯特劳特(Joe Strout)写道:
请注意,在这样的情况下,您可能需要考虑使用分区
而不是分裂:
a,sep,b = line.partition('')
这样,如果碰巧有一个以上的空间(例如,
因为您映射到的Unicode字符恰好是一个空间),所以
它仍然可以工作。它也更好地编码意图,即
仅在行中的第一个空间上分开,而不是在每个空间上分开。
(碰巧我昨天遇到了这个问题,尽管我
定界符是一个结肠。)
乔:
在无第一个参数的特殊情况下(默认
whitespace *的str.split()方法 *被视为单个
定界符。因此,line.split()与line.split('')不同。
问候
史蒂夫
- -
史蒂夫·霍顿+1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
# 回答5


史蒂夫·霍尔顿(Steve Holden)在2008年11月21日上午9:00写道:请注意,在这种情况下,您可能需要考虑使用Split的PartiTionInstead:A,Sep,sep,b = line.partition.partition(''),如果是这样。碰巧有一个以上的空间(例如,因为您映射到的Unicode字符恰好是Aspace),所以它仍然可以正常工作。它还更好地编码意图,该意图仅在线上的第一个空间上,而不是在EV上 Eryspace。
在无第一个参数的特殊情况下(默认
whitespace *的str.split()方法 *被视为单个
定界符。因此,line.split()与line.split('')不同。
对 - 因此,使用split()给了您两个不同的答案
原因。尝试以下操作:
ValueError:需要超过1个值才能解开包装
是一些额外的东西吗"
ValueError:太多的值无法打开包装
分区正确处理这些案例(至少在OP中
规范" b"的价值应该是在
第一个空间)。
干杯,
- 乔
# 回答6


En Fri,2008年11月21日14:13:23 -0200,Joe Strout ValueError:需要超过1个值才能解开包装
一些额外的东西"
ValueError:太多的值无法打开包装
分区正确处理这些案例(至少在OP中
规范" b"的价值应该是在
第一个空间)。
拆分也有其他论点:
pyline =" 3 x,这里有一些额外的东西"
pya,b = line.split(无,1)
pya
'3'
pyb
'x和这里有一些额外的东西"
但是,如果该行不包含空格,它仍然会失败。分区更多
在这种情况下有力
- -
Gabriel Genellina
# 回答7


乔·斯特劳特(Joe Strout)写道:
[...]
我相信,如果您再次阅读OP的帖子,您将看到他指定的
每行两个非空间项目。
你真的 *爱 *是对的,不是吗? ;-)你说的分区" ...
更好地编码意图,即仅在第一个空间上拆分
在线,而不是在每个空间中"。您的心理阅读能力
显然比我的优越。
无论如何,很抱歉告诉您您已经知道的事情。这是真的
该分区有其位置,并且经常被忽略。特别
由我。
问候
史蒂夫
- -
史蒂夫·霍顿+1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/

标签: python

添加新评论