我的python脚本计算单词列表在文本中出现的次数。脚本可以工作,但当我试图在一个用分号分隔的CSV文件中写入结果时,它不起作用。在
我的代码:
import csv
wordslist = ["Bob", "car"]
text = "Bob loves his Mustang car, but Bob wants a Ferrari car because Ferrari is a fastest car."
for word in wordslist :
resultCar = str(word) + "; " + str(text.count(word))
print resultCar
carCountsCsv = open("carcounts.csv", "wb")
with carCountsCsv:
writer = csv.writer(carCountsCsv)
writer.writerow(resultCar)
我的CSV文件结果是:
^{pr2}$我不明白为什么我的结果会出现在同一行中,我希望在控制台中有这样的结果:
Bob;2
car;3
任何帮助都将不胜感激
首先,在循环之前打开该文件一次,否则将覆盖上一行并最终生成只包含最后一行的文件。在
然后,由于您希望
^{pr2}$;
作为CSV文件中的分隔符,所以不需要使用csv_writer
。您已经用正确的分隔符创建了一个字符串。只需将行写入普通文件即可。在如果确实要使用CSV库,则需要在创建writer时向其传递所需的分隔符。然后向它传递一个包含每行元素的列表,它将为您添加分隔符。在
请注意,当您打开文件时,请指定
newline=''
。csv.writer
将为您添加新行。如果您忘记了这一点,您将在您的CSV文件中得到两个换行符。在由于您的输出已经是CSV,所以考虑一下raw pipe。假设我们的文件名为
bob_car.py
。在然后简单地做:
^{pr2}$相关问题 更多 >
编程相关推荐