为了账号安全,请及时绑定邮箱和手机立即绑定

从TXT文件创建python字典-值聚合

从TXT文件创建python字典-值聚合

芜湖不芜 2021-05-13 17:20:27
我有一个TXT文件,格式为22px 3111px 32618px 813px 4122px 4311px 291其中第一列是字体大小(“ px”),第二列是字符计数。是否有任何方法可以汇总(总和)所有字体大小(键)上的字符数(值),然后使用python字典除以总字符数?假定的解决方案应采用以下形式:11px    83% # =(326+291)/(31+326+8+41+43+291)13px    6%18px    1%22px    10%
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

无需打扰熊猫。文本文件是可迭代的。只需打开它,在行(字符串)上操作并填写字典即可。


file = "font.txt"


with open(file, "r") as f:

    dic = dict()

    for line in f:

        x = line.strip("\n").split(" ")


        key = int(x[0].strip("px"))

        value = int(x[1])


        if key not in dic.keys():

            dic[key] = [value]

        else:

            dic[key].append(value)

输出:


{22: [31, 43], 11: [326, 291], 18: [8], 13: [41]}

然后是简单的数学运算:


total_number_of_character = sum([sum(x) for x in dic.values()])

percentage = percentage = {key:sum(value)/total_number_of_character*100 for (key, value) in dic.items()}

输出:


{22: 10.0,

 11: 83.37837837837839,

 18: 1.0810810810810811,

 13: 5.540540540540541}


查看完整回答
反对 回复 2021-05-18
  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信