0
我有一个非常大的.csv
文件(1065行x 1列)。每一行都有句子。我想从每行中的单词表(.csv文件)中选取几个重要单词,然后为每一行制作数据词频率。如何从python的每一行csv文件中提取单词?
我有一个非常大的.csv
文件(1065行x 1列)。每一行都有句子。我想从每行中的单词表(.csv文件)中选取几个重要单词,然后为每一行制作数据词频率。如何从python的每一行csv文件中提取单词?
我刚刚试图放下一些东西,希望这会帮助你。这可能会更有效率地完成,但它完成了这项工作。
输入文件示例
bla bla bla. bla! bla bla apple!, :banana. apple!!!
banana bla bla, apple and banana
peach 12345 bla bla peach and banana, peach, banana! :apple
代码
# Your inputs
list_words = ['apple', 'banana','peach']
filename = 'example.txt'
# Set of characters to remove to tokenize the file's line
rm = ",:;?/-!."
# Read through the file per each line and do the math
with open(filename,'r') as fin:
for count_line, line in enumerate(fin,1):
clean_line = filter(lambda x: not (x in rm), line)
# To hold the counts of each word
words_frequency = {key: 0 for key in list_words}
for w in clean_line.split():
if w in list_words:
words_frequency[w] += 1
print 'Line', count_line,':', words_frequen
输出:
Line 1 : {'apple': 2, 'peach': 0, 'banana': 1}
Line 2 : {'apple': 1, 'peach': 0, 'banana': 2}
Line 3 : {'apple': 1, 'peach': 3, 'banana': 2}
非常感谢您的评论... –
你查过或试图csv模块? https://docs.python.org/2/library/csv.html – kponz
如果它只有一列是真的csv文件? –
你能提供样品吗?几行文件,要查找的单词以及期望的输出。 – gl051