我在一列中有一个csv文件,如下所示。符号和数字仅用于表明文件不仅包含文本。我有两个目标:在csv中计算单词出现并确定行外观
- 计算一个单词的出现次数;
- 确定一个字有多少行出现在
Stuff
I like apples. Sally likes apples.
Jim has 4 berries. [email protected]#
John has 2 apples.
理想情况下,代码应该返回类似: {苹果:3} {#行:2}
我已经编写了一些代码来尝试和计算出现次数,但它没有正常运行(假设是因为标点符号)。另外,我不知道如何确定单词出现的行数;这可以像计算每行中唯一出现的次数一样简单,但我不确定如何继续。下面是代码我迄今,在Python 3.6.1完成:
import csv
my_reader = csv.reader(open('file.csv', encoding = 'utf-8'))
ctr = 0
for record in my_reader:
if record[0] == 'apples':
ctr += 1
print(ctr)
的代码只是返回0
的答案。帮帮我?
'打印(记录)'的循环,看看什么东西被放在它。您可以使用['str.find()'](https://docs.python.org/3/library/stdtypes.html#str.find)方法在字符串中搜索子字符串。或者,您可以使用['str,split()'](https://docs.python.org/3/library/stdtypes.html#str.split)方法将字符串分解为单独的“单词”,使用空格('''')作为分隔符。 – martineau
'print(record)'将文件的最后一行作为'['John有2个苹果'']'返回,即它看起来像忽略了其他行。 – Mat
也许不是。你把'print' **放在循环中了吗?否则,您可能只是获取最后显示的记录。 – martineau