读取统计微信捐款(matlab)
当敬业的村委需要可爱的你帮忙统计一下村群的捐款接龙信息时,你是不是还在犯愁几百个接龙怎么一个个录进excel里啊,不要发愁,学过编程的你就会发现,这些事很简单,花了小编两个晚上搞出来的东西分享出来供大家参考(小编很菜),
文章目录
- 前言
- 主要突破点是正确读取字符串和从元胞数组里分离出想要的数值
- 一、正确读取字符串
- textscan
- 二、从元胞数组里分离出想要的数值
- regexp
- 总结
前言
主要突破点是正确读取字符串和从元胞数组里分离出想要的数值
`
一、正确读取字符串
1,将接龙信息存到txt里,一般捐款名单都是以下形式:
1.张三:100元
2.李四:200元
3.王五:300元
2,观察到有共同特点,冒号之后是钱数和单位(如果不是这种格式你可以把它变成这种格式)
3,使用matlab进行提取钱数
示例:1.张三:100元
微信接龙捐款一般为上述形式,可以观察到字符串中包含中文和数字,如果直接使用matlab自带的textread函数或者textscan函数读取到的字符是乱码的,虽然中文并不是我们想要关注的但是它会影响我们对数字的提取,所以我们使用“UTF-8”格式读取,代码如下:
file=fopen(filename,‘r’,‘l’,‘UTF-8’);
想要了解’UTF-8’可以转https://blog.csdn.net/tcf_jingfeng/article/details/80134600
(如有侵权,可私信本人删除)
“l”参数的具体用法可自行查看
在matlab里textscan函数的作用是从文本文件或字符串读取格式化数据进行读取,想要了解更多关于该函数可以“help textscan”,本文用例如下:
textscan
inbook=textscan(file,'%d %s ');
%d读取数值,%s读取字符串,当你调用这个函数的时候它将会按照你的格式化(即%d)来读取并划分成N个元胞数组,例如本文N=2,则会得到1xN个元胞,在调试过程中我发现,“.”不被识别(或者起到分割的作用,时间有限,高手可以补充),当调用上述函数时,该行被划分为两个元胞,第一个元胞以整数形式保存数字“1”,第二个元胞则为“.”后的一串字符,当我试图“%d %s %d”来提取数字100时发现只能得到0,因为100在这一行里是字符
二、从元胞数组里分离出想要的数值
regexp
匹配正则表达式(区分大小写)
startIndex = regexp(str,expression) 返回 str 中与该正则表达式指定的字符模式匹配的每个子字符串的起始索引。如果没有匹配项,则 startIndex 为空数组。
正则表达式有很多用途,可自行help regexp了解,本文使用其匹配分离作用
Money = regexp(inbook{1, 2}{i, 1},‘:’,‘split’);
对第二个元胞查找’:',查找到后以此为分界线将字符串分割,split意为分离的意思,这样,这个元胞就变成了两个元胞数组,第二个元胞cell里包含了我们想要的信息,对第二个元胞进行再次使用正则表达式,以‘元’为分隔符,则可以得到100,最后利用matlab自带的str2double函数可以将字符串变成整型,‘元’后面没有字符则置为空,从而完成了从字符串中提取出了想要的数字。全部代码如下
代码如下(示例):
clear;clc;
filename='test.txt';
file=fopen(filename,'r','l','UTF-8');
inbook=textscan(file,'%d %s');
Divide=':';
Sum=0;
for i=1:size(inbook{1, 2},1)Money = regexp(inbook{1, 2}{i, 1},Divide,'split');MoneyNum=regexp(Money(2),'元','split');MoneyNum1 = str2double(MoneyNum{1, 1}{1, 1});Sum=Sum+MoneyNum1
end
—
总结
以上是对包含有中文和数字的字符串进行提取,不足之处,欢迎指出,一起讨论学习,如需转载,请注明。
读取统计微信捐款(matlab)相关推荐
- Python统计微信消费!生成微信消费账单!真强大!
First of all 通过观察,我发现我的微信消费类型大约有3种: 1.通过扫描商家二维码支付 2.直接进行商户消费 3.发红包给舍友让他们帮我带饭 接下来,我要统计具体的消费明细 一.准备工作 ...
- 统计微信好友性别,并可视化
''' author: date:20200303 func:统计微信好友性别,并可视化 ''' from pyecharts.charts import Pie import csv from py ...
- python统计微信消费
文章目录 First of all 一.准备工作 二.开始写代码 1.引入库 2.打开表格 3.读入数据 4.整理数据 5.写入数据 6.输出结果 最后 First of all 通过观察,我发现我的 ...
- python读取 .mat 文件(matlab文件)
python读取 .mat 文件(matlab文件)和 scipy库包的使用(4-20181224) 一.python调勇scipy库读取.mat文件 1.使用例子1 2. 使用例子2 二.scipy ...
- WxConn:统计微信好友数与加入群聊的人数
本文首发微信公众号:菜天Android 作为一个技术人,用微信这么多年,也加了不少的好友和技术群.大半个月前,大概是5月初的时候,萌生了这个想法. 前后磕磕绊绊,经过了来美帝出差前期差点饿死.项目紧急 ...
- python微信群机器人统计群数据_python-itchat 统计微信群、好友数量的实例
Python Python开发 Python语言 python-itchat 统计微信群.好友数量的实例 今天小编就为大家分享一篇python-itchat 统计微信群.好友数量,及原始消息数据的实例 ...
- 使用wxpy统计微信好友数量及男女数量,并保存好友数据到本地
使用wxpy统计微信好友数量及男女数量,并保存好友数据到本地,代码如下: from wxpy import * import json class bots:def __init__(self):pa ...
- 一、在全系1000名学生中,征集慈善募捐, 当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
#include <stdio.h> #include <stdbool.h> /*一.在全系1000名学生中,征集慈善募捐, 当总数达到10万元时就结束,统计此时捐款的人数, ...
- 微信抢红包MATLAB,微信红包怎么抢才是运气王?有人做了实验,看结果!
在抢微信红包的过程中,可能许多人有这样一种感觉,抢红包貌似后抢比先抢能拿到更多的钱?有人就做了一个实验-- 友情提示: 全文约6400字,阅读全文约10分钟.如果觉得时间紧张,可以跳过实验过程直接拉至 ...
最新文章
- OpenResty中的upstream healthcheck功能沉思录
- AI志愿超强攻略|中国高校AI专业最全院校排名课程对比(附链接)
- springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
- asp.net mysql 增删该查_asp.net 数据库的增删改查
- [转]将微信和支付宝支付的个二维码合二为一
- 30个Python小游戏,上班摸鱼我能玩一天【内附源码】
- 控制工程中的数学建模(6)——典型环节的数学模型(之二)
- LWR 局部加权线性回归算法
- linux上使用FTP下载远程PTF远程文件
- 4.22 虾皮_小米_度小满
- sa-token使用(源码解析 + 万字)
- ps:图像格式的选择
- Promise请求并发
- Python Iterator 学习小记
- java答辩记录问题,S2_javaWeb答辩问题集 qlzx
- 疫情反复,如何轻松居家办公?——快解析内网穿透
- 分享一个毕业实习体会
- 计算机控制手机短信的接收代码,用单片机控制手机收发短信息
- 按键精灵对服务器文本修改,怎么把输入框里面的内容修改脚本内容?
- 特斯拉model3中控屏怎么关_全方位解读特斯拉 Model 3中控大屏交互布局