从文件创建字典

时间:2012-10-29 12:22:23

标签: python list function dictionary

  

可能重复:
  Reading a File into a Dictionary And Keeping Count

我正在尝试创建一个包含两个值的字典:第一个值是文本:

<NEW ARTICLE>
Take a look at 
what I found.
<NEW ARTICLE>
It looks like something
dark and shiny.
<NEW ARTICLE>
But how can something be dark
and shiny at the same time?
<NEW ARTICLE>
I have no idea.

,第二个值是单词“ARTICLE&gt;”的计数次数用来。

我尝试了不同的方法和一种方法,我收到了这个错误:

我收到的是这样的:

(key, val) = line.split()
ValueError: need more than 1 value to unpack

我尝试了几种不同的方法,但无济于事,我试过的一种方法说它给了太多的值来解压..

我希望以后能够在字典中搜索一个键/单词,并找到合适的计数。

使用Python 3.

2 个答案:

答案 0 :(得分:1)

这应该这样做:

>>> with open("data1.txt") as f:
...     lines=f.read()
...     spl=lines.split("<NEW ARTICLE>")[1:]
...     dic=dict((i,x.strip()) for i,x in enumerate(spl))
...     print dic
... 
{0: 'Take a look at \nwhat I found.',
 1: 'It looks like something\ndark and shiny.',
 2: 'But how can something be dark\nand shiny at the same time?',
 3: 'I have no idea.'}

答案 1 :(得分:0)

确保某处没有空行:

if newdoc == True and line != "ARTICLE>" and line:
    (key, val) = line.split()

(空行将被分割为[],无法将其解析为具有两个元素的元组...)