python 实现文章内容统计

实现对目标文件所有字符统计,单独不重复字符统计,并通过字典打印以及写入excel,以文件的形式输出统计的结果。


编码格式

# -*- coding:utf-8 -*-  

导入包

import xlwt

主函数

if __name__ == '__main__':
    data = read()	# data 为 read()返回的结果
    generate_excel(data)	# generate_excel 函数传入参数 data
    # for key, value in data.items():
    #     print(key+':'+str(value))
    pass

read()函数以及作用

def read():

    list1 = {}	# 定义一个空字典
    text = open(r'./27.txt', mode='rt', encoding='gbk').read()
    # 打开目标文件 路径为当前文件夹下 mode为模式 encoding为编码格式
    # .read()函数为对打开的文件进行读操作
    # 结果返回赋值给text 返回的结果为对文章逐个字符进行拆分
    
    # print([x for x in set(text)])	# 调试语句
    demo1 = list(set(text))
    # set()函数为遍历text,返回的结果为不重复的字符 
    # list()函数为将结果以list列表的形式输出
    
    demo1.remove('\n')
    # 剔除掉换行符\n
    
    # print(demo1) # 测试代码
    print("该篇文章共有几个字符", len(text))
    # 输出结果 len()函数为 对text进行遍历,返回为text里的字符的个数
    
    print("有几个不同的字:", demo1.__len__())
    # 输出结果 __len__()函数为 对demo1进行遍历,返回为demo1里的字符的个数
    # print(list(text))
	
    for each_b in demo1:# for循环 作用:遍历demo1
        count = 0
        for each_a in list(text):# for循环 作用:遍历text
            if each_b == each_a:
                # 判断:如果该字符(demo1中)与该字符(text中)相同
                count += 1	# 记录数值加1
        list1[each_b] = count # 对记录数值进行存储
        # print(each_b, ": ", count)

    # print(list1)
    return list1	# 返回列表 为记录的数值

generate_excel()函数以及作用

def generate_excel(expenses):
    # 创建workbook(其实就是excel,后来保存一下就行)
    workbook = xlwt.Workbook('./27.xlsx')
    # 创建表 路径为当前文件夹下
    worksheet = workbook.add_sheet('sheet1')
    # 往单元格内写入内容:写入表头
    worksheet.write(0, 0, label="字")
    worksheet.write(0, 1, label="重复的次数")
    # 往单元格内写入内容:写入内容
    i = 1
    for key, value in expenses.items(): # for循环
        print(key + ':' + str(value))
        worksheet.write(i, 0, label=key) #写入第i列第0个位置
        worksheet.write(i, 1, label=value) #写入第i列第1个位置
        i = i + 1
    workbook.save('./27.xls') # 保存文件 路径为当前文件夹下
    pass
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值