回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是原始文本文件,我只想提取“reviewTexts”部分。
<a href="https://i.stack.imgur.com/2gCUU.png" rel="nofollow noreferrer">My Text File</a></p>
<p>我尝试将其转换为字典,然后提取键“reviewTexts”,下面是我在将文本文件更改为字典之前尝试清理文本文件的代码:</p>
<pre><code>f = open('baby.txt','r')
lines=f.read().split("\n")[:30]
str_list = list(filter(None, lines))
str_list
</code></pre>
<p>结果是这样的:</p>
<pre><code> ['reviewerID:A1HK2FQW6KXQB2',
'asin:097293751X',
'reviewerName:Amanda Johnsen "Amanda E. Johnsen"',
'helpful:[0, 0]',
"reviewText:Perfect for new parents. We were able to keep track of baby's feeding, sleep and diaper change schedule for the first two and a half months of her life. Made life easier when the doctor would ask questions about habits because we had it all right there!",
'overall:5.0',
'summary:Awesine',
'unixReviewTime:1373932800',
'reviewTime:07 16, 2013',
'reviewerID:A19K65VY14D13R',
'asin:097293751X',
'reviewerName:angela',
'helpful:[0, 0]',
'reviewText:This book is such a life saver. It has been so helpful to be able to go back to track trends, answer pediatrician questions, or communicate with each other when you are up at different times of the night with a newborn. I think it is one of those things that everyone should be required to have before they leave the hospital. We went through all the pages of the newborn version, then moved to the infant version, and will finish up the second infant book (third total) right as our baby turns 1. See other things that are must haves for baby at [...]',
'overall:5.0',
'summary:Should be required for all new parents!',
'unixReviewTime:1372464000',
'reviewTime:06 29, 2013',
'reviewerID:A2LL1TGG90977E',
'asin:097293751X',
'reviewerName:Carter',
'helpful:[0, 0]',
"reviewText:Helps me know exactly how my babies day has gone with my mother in law watching him while I go to work. It also has a section for her to write notes and let me know anything she may need. I couldn't be happier with this book.",
'overall:5.0',
'summary:Grandmother watching baby',
'unixReviewTime:1395187200',
'reviewTime:03 19, 2014']
</code></pre>
<p>结果看起来不错,但是当我在循环中使用这段代码时,发生了一些奇怪的事情。结果不能显示全部行,但显示最后10行</p>
<pre><code>dict_temp ={}
f = open('baby.txt','r')
lines=f.read().split("\n")[:30]
str_list = list(filter(None, lines))
str_list
for one in str_list:
k = one.split(':')[0]
v = one.split(':')[1]
dict_temp[k] = v
print(dict_temp)
</code></pre>
<pre><code>{'reviewerID': 'A2LL1TGG90977E', 'asin': '097293751X', 'reviewerName': 'Carter', 'helpful': '[0, 0]', 'reviewText': "Helps me know exactly how my babies day has gone with my mother in law watching him while I go to work. It also has a section for her to write notes and let me know anything she may need. I couldn't be happier with this book.", 'overall': '5.0', 'summary': 'Grandmother watching baby', 'unixReviewTime': '1395187200', 'reviewTime': '03 19, 2014'}
</code></pre>
<p>请帮助我找出原因以及解决此问题的任何其他方法(仅摘录“reviewTexts”部分)</p>