Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中修改字典/键_Python_Dictionary_Export To Csv - Fatal编程技术网

在Python中修改字典/键

在Python中修改字典/键,python,dictionary,export-to-csv,Python,Dictionary,Export To Csv,我已经用Python运行了下面的代码,从文本文件中生成了单词列表及其计数。我如何从“frequency_list”变量中过滤出只有1个计数的单词 此外,如何将底部的打印语句循环导出到CSV 提前感谢您提供的任何帮助 import re import string frequency = {} document_text = open('Words.txt', 'r') text_string = document_text.read().lower() match_pattern = re.fi

我已经用Python运行了下面的代码,从文本文件中生成了单词列表及其计数。我如何从“frequency_list”变量中过滤出只有1个计数的单词

此外,如何将底部的打印语句循环导出到CSV

提前感谢您提供的任何帮助

import re
import string
frequency = {}
document_text = open('Words.txt', 'r')
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)

for word in match_pattern:
    count = frequency.get(word,0)
    frequency[word] = count + 1

frequency_list = frequency.keys()



for words in frequency_list:
    print (words, frequency[words])

对于第一部分,您可以使用dict理解:


frequency={k:v表示k,v表示频率。items()如果v>1}

要过滤掉单词,另一种方法是:

frequency = dict(filter(lambda (k,v): v>1, frequency.items())) 
要将底部的打印语句循环导出为CSV,可以执行以下操作:

import csv    
frequency_list = ['word1','word2','word3']  # example

with open('output.csv','w') as csvfile:
    writer = csv.writer(csvfile, delimiter=",")
    writer.writerow(frequency_list)
这将生成一个“output.csv”文件,其中一行包含频率列表中的单词

要获取每个单词的行,请尝试以下操作:

with open('output.csv','w') as csvfile:
    writer = csv.writer(csvfile, delimiter=",")
    writer.writerows([i.strip() for i in l.split(',')] for l in frequency_list)
frequency = {"one":1,"two":2,"three":3} #example
with open('output.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    for key, value in frequency.items():
       writer.writerow([key, value])
更新

要使用计数器获取csv,请保留初始字典并执行以下操作:

with open('output.csv','w') as csvfile:
    writer = csv.writer(csvfile, delimiter=",")
    writer.writerows([i.strip() for i in l.split(',')] for l in frequency_list)
frequency = {"one":1,"two":2,"three":3} #example
with open('output.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    for key, value in frequency.items():
       writer.writerow([key, value])

使用迭代键、值对;测试你的状态值;将满足要求的密钥存储在容器中(如列表);使用向csvThanks写入一堆!使用最后一个导出示例,我如何将上面提到的计数值带到CSV?因此,每行(字)在其旁边的列中也有其各自的计数。