索引.txt文件中的文本行

时间:2012-06-01 21:16:46

标签: python dictionary

说我有一个.txt文件。该文件包含单词和数字的交替行:

Mary
156
Sue
160
Jenn
154

我想把这些交替的行放到像''Mary':156这样的字典中。我的第一个想法是使用带有%运算符的for循环,但我仍然坚持实际的实现。是否可以索引文本文件中的行?到目前为止,我的思路是什么:

for i in range(len(text)):
    if i%2 == 0

3 个答案:

答案 0 :(得分:9)

Edit2:可以做得更简单:

with open("data.txt") as inf:
    data = {name.strip():int(num) for name,num in zip(inf, inf))

返回

{'Mary': 156, 'Sue': 160, 'Jenn': 154}

编辑3:(对评论的回应):

"Mary,Jade,Jenn\n".split(',', 1)

返回

["Mary", "Jade,Jenn\n"]

因此,如果你只想要一个字符串到第一个逗号,你可以做

name = in_string.split(',', 1)[0]    # => "Mary"

答案 1 :(得分:0)

你可以这样做

with open("data.txt") as data:
    for line in data:
        name = line.strip()
        number = data.readline()
        print name
        print number

答案 2 :(得分:0)

怎么样?

for i in range(0, len(text), 2)

但是没有必要,因为你可以用简单的方式加载它:

s = """Mary
156
Sue
160
Jenn
154"""

lines = s.splitlines()
lines = zip(*[iter(lines)]*2)
d = dict(lines)

print d