csv文件批量合并+词频Counter计算

本文介绍使用Python中的csv模块和pandas库进行CSV文件合并的方法。详细讲解了通过不同参数设置完成文件读写的过程,并给出了利用Counter进行词汇频率统计的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSV文件合并

版本一:只用csv

注意:写入文件时 参数ab表示写入文件的是二进制文件,具体是ab还是a要和前面读的r和rb有关

import csv

file = []
for i in range(2001,2022):
    f_i = '/Users/sunmengge/Desktop/scopus_content/content_%d.csv'%i
    file.append(f_i)
j = 2001
for k in file:  # 循环读取同文件夹下的csv文件
    fr = open(k, 'rb').read()
    temp = []
    temp.append(j)
    temp.append(fr)
    with open('/Users/sunmengge/Desktop/scopus_content/result.csv', 'ab') as f:   
        f.write(fr)
    j = j+1
print('合并完毕!')

这里,如果写入文件时为:f.writerow(),则括号内最好是列表

版本二:pandas

pandas不如csv好用 或者说csv的ab好用!
否则涉及文件中每列分割符号的问题

列表Counter计数

from collections import Counter

#构建词汇库
file=open(u'/Users/sunmengge/Desktop/scopus_content/scopus_fenci/fenci.csv','rb')
file_cont=file.readlines()
corpus1 = []
for text in file_cont:
    words=text.decode().strip().split('|')
    for word in list(set(words)):
        corpus1.append(word)
#自动计算每一词汇对应的频数!!
counter1 = Counter(corpus1)
##转化成字典形式
dic = dict(counter1)
##!!重点在于输出每一词汇对应的词频数 这也是字典形式应该掌握的语法
##str(terms[ind]) 为某词汇
for i,v in dic.items():
    if i ==str(terms[ind]):
        count = v

小tips:对列表a的去重为:list(set(a))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值