Python词频对比并导入CSV文件
需要用到的停用词库我上传到我的资源了,大家也可以自己去网上找!
本来是想把两个词频统计放入一个CSV文件中,但是无奈向已经存在的CSV文件中追加写入数据只能在已经存在的数据下面追加,也就是在同一列追加,不能另起一列添加数据,哪位兄弟怼出来了,欢迎回复或私信!
import jieba
import pandas as pd
import csv
import codecs
# num=jieba.lcut("中国是一个伟大的国家") # jieba库的测试
# print(num)
# 计算机专业的-1.txt
txt1=open("计算机专业.txt").read()
# 导入停用词库,过滤掉那些没用的词语,甚至都不是词语,比如标点符号,停用词在我的资源中有保存
stopwords=[line.strip() for line in open("停用词.txt").readlines()]
words1=jieba.lcut(txt1)
# print(words1)
counts1={}
for word1 in words1:
if len(word1)==1:
continue
else:
counts1[word1]=counts1.get(word1,0)+1
items1=list(counts1.items())
items1.sort(key=lambda x:x[1],reverse=True) # 根据词频进行降序排序
# print(items1)
file_csv=open("计算机专业词频.csv",'w+',newline='') #添加newline='',可以删除每行之间的空行
writer=csv.writer(file_csv)
writer.writerow(["词汇","词频"])
for data in items1:
writer.writerow(data)
file_csv.close()
# 法学专业的-2.txt
txt2=open("法学专业.txt").read()
words2=jieba.lcut(txt2)
counts2={}
for word2 in words2:
if len(word2)==1:
continue
else:
counts2[word2]=counts2.get(word2,0)+1
items2=list(counts2.items())
items2.sort(key=lambda x:x[1],reverse=True)
#print(items2)
# dataframe=pd.DataFrame({'items1_name':items1,'items2_name':items2})
# dataframe.to_csv("test.csv")
# file_csv=open('test.csv','a')
file_csv=open("法学专业词频.csv",'w+',newline='')
writer=csv.writer(file_csv)
writer.writerow(["词汇","词频"])
for data in items2:
writer.writerow(data)
file_csv.close()