Thinkai's Blog

Autohoutkey|Python|php|aardio|VOIP|IT 爱好者

Excel维语汉语数据分离(通过姓名) Autohotkey 5151

作者为 发表

Autohotkey

#MaxMem 1024
#NoTrayIcon
#SingleInstance, force
gui, add, button, x0 y0 w300 h42 gget, 复制Excel表格数据后点此分析生成
gui, show, , 维汉语筛选区分工具
Return

get:
;转化为数组
;初始化
ExcelObj := {}
;获取
Clip_now := Clipboard
;转化成数组
if (InStr(Clip_now, "`t"))
{
	StringReplace, Clip_now, Clip_now, `r, , All
	StringSplit, line, Clip_now, `n
	Loop % line0
	{
		tmp_line := line%A_Index%
		y_id := A_Index
		if tmp_line
		{
			StringSplit, var, tmp_line, `t
			Loop % var0
			{
				tmp_var := var%A_Index%
				x_id := A_index
				ExcelObj[y_id,x_id] := tmp_var
			}
		}
	}
}

InputBox, title, 提示, 请输入一个名称!
if title =
	title = 未命名
if !isobject(ExcelObj)
{
	MsgBox, 48, 错误, 您未粘贴EXCEL数据!
	Return
}
;横向纵向最列数   后面不会用到
x_max := ExcelObj[1].Maxindex()
y_max := ExcelObj.Maxindex()
outf =
id=0
;生成选择的下拉菜单
for k,v in  ExcelObj[1]
{
	id++
	outf .= outf ? "|" id "【" v "】" : id "【" v "】"
}
gui, 2:add, DropDownList, x0 y0 w300 h400 vchoose, %outf%
gui, 2:add, button, x0 y20 w300 h20 gok, 确定
gui, 2:show, ,请选择姓名所在字段!
Return

ok:
GuiControlGet, choose
if choose =
{
	MsgBox, 48, 错误, 您为选择姓名所在字段!
	Return
}
SplashTextOn, 200, 20, 提示, 分析生成中!
gui, 2:Destroy
;分割所选
StringSplit, v, choose, 【,
;姓名所在列id
ziduan = %v1%
goto, goon
Return

goon:
hanyu_data =
uyghur_data =
idx = 0
;
for k,v in ExcelObj
{
idx++
key := ExcelObj[idx][ziduan]
StringReplace, key, key, %A_Space%, , All
key := RegExReplace(key,"(\.|。|·)$","")
;汉字姓氏开头
if RegExMatch(key,"^(赵|钱|孙|李|周|吴|郑|王|冯|陈|褚|卫|蒋|沈|韩|杨|朱|秦|尤|许|何|吕|施|张|孔|曹|严|华|金|魏|陶|姜|戚|谢|邹|喻|柏|水|窦|章|云|苏|潘|葛|奚|范|彭|郎|鲁|韦|昌|马|苗|凤|花|方|俞|任|袁|柳|酆|鲍|史|唐|费|廉|岑|薛|雷|贺|倪|汤|滕|殷|罗|毕|郝|邬|安|常|乐|于|时|傅|皮|卞|齐|康|伍|余|元|卜|顾|孟|平|黄|和|穆|萧|尹|姚|邵|湛|汪|祁|毛|禹|狄|米|贝|明|臧|计|伏|成|戴|谈|宋|茅|庞|熊|纪|舒|屈|项|祝|董|梁|杜|阮|蓝|闵|席|季|麻|强|贾|路|娄|危|江|童|颜|郭|梅|盛|林|刁|钟|徐|邱|骆|高|夏|蔡|田|樊|胡|凌|霍|虞|万|支|柯|咎|管|卢|莫|经|房|裘|缪|干|解|应|宗|宣|丁|贲|邓|郁|单|杭|洪|包|诸|左|石|崔|吉|钮|龚|程|嵇|邢|滑|裴|陆|荣|翁|荀|羊|於|惠|甄|魏|加|封|芮|羿|储|靳|汲|邴|糜|松|井|段|富|巫|乌|焦|巴|弓|牧|隗|山|谷|车|侯|宓|蓬|全|郗|班|仰|秋|仲|伊|宫|宁|仇|栾|暴|甘|钭|厉|戎|祖|武|符|刘|姜|詹|束|龙|叶|幸|司|韶|郜|黎|蓟|薄|印|宿|白|怀|蒲|台|从|鄂|索|咸|籍|赖|卓|蔺|屠|蒙|池|乔|阴|郁|胥|能|苍|双|闻|莘|党|翟|谭|贡|劳|逄|姬|申|扶|堵|冉|宰|郦|雍|却|璩|桑|桂|濮|牛|寿|通|边|扈|燕|冀|郏|浦|尚|农|温|别|庄|晏|柴|瞿|阎|充|慕|连|茹|习|宦|艾|鱼|容|向|古|易|慎|戈|廖|庚|终|暨|居|衡|步|都|耿|满|弘|匡|国|文|寇|广|禄|阙|东|殴|殳|沃|利|蔚|越|夔|隆|师|巩|厍|聂|晁|勾|敖|融|冷|訾|辛|阚|那|简|饶|空|曾|毋|沙|乜|养|鞠|须|丰|巢|关|蒯|相|查|后|江|红|游|竺|权|逯|盖|益|桓|公|万|俟|司马|上官|欧阳|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|仲孙|太叔|申屠|公孙|乐正|轩辕|令狐|钟离|闾丘|长孙|慕容|鲜于|宇文|司徒|司空|亓官|司寇|仉督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓拔|夹谷|宰父|谷粱|晋楚|阎法|汝鄢|涂钦|段干|百里|东郭|南门|呼延|归海|羊舌|微生|岳帅|缑亢|况后|有琴|梁丘|左丘|东门|西门|商牟|佘佴|伯赏|南宫|墨哈|谯笪|年爱|阳佟|第五|言福).*")
{
	tmp_line =
	for a,b in ExcelObj[idx]
		tmp_line .= tmp_line ? "," b : b
	hanyu_data .= hanyu_data ? "`n" tmp_line : tmp_line
}
;维语名字关键词
Else if key Contains 阿巴,阿卜,阿不,阿布,阿达,阿迪,阿地,阿尔,阿洪,阿吉,阿勒,阿里,阿力,阿丽,阿曼,阿米,阿娜,阿西,阿依,阿克,努尔,阿依,曼孜,沙吾,喀拉,阿拜,别克,迈尔,迈尔,扎提,艾伟,帕,霍尔,艾伟,阿依,夏姆,阿依,乌力,夏木,阿依,谢姆,阿扎,提,艾尔,艾海,提,艾合,艾科,拜尔,艾克,巴尔,艾拉,艾勒,坎木,艾里,艾力,凯木,艾尼,瓦尔,艾萨,艾散,艾沙,艾山,艾依,艾则,孜,艾孜,安拉,安外,奥斯,巴哈,巴克,巴拉,巴图,巴土,巴依,拜合,亚尔,包尔,布里,布力,布威,布韦,布维,达尼,达瓦,达伍,托科,达吾,迪里,迪丽,热巴,迪亚,额敏,古海,古丽,罕,娜尔,斯坦,苏如,苏茹,扎尔,扎热,古再,古赞,果海,哈迪,哈尔,哈古,哈基,哈克,哈里,哈丽,哈力,哈米,哈热,哈斯,哈孜,海力,且木,海丽,且姆,罕,扎代,赫克,买提,赫克木,赫木热,吉利力,吉乃,斯太,加马力,贾马力,杰力力,居尔,艾提,居玛,居麦,居热,喀迪,喀日,喀斯,喀伍,卡,佧马力,佧米力,开萨尔,凯赛尔,坎吉,坎曼尔,柯日木,柯则,柯孜,克热木,克孜,库尔班,阔其,喀尔,玛斯,买买提,麦尔,麦合,麦吉,麦丽,麦买,买买,买卖,麦麦,麦苏木,毛拉,莫敏,莫明,姆,穆巴,热科,穆巴,热克,穆海,麦提,穆罕,买提,穆合,塔尔,穆坎,妲斯,穆萨,穆台,力甫,穆太,力普,木丽,德尔,穆再,排尔,娜扎,开提,乃比,南比,妮尕尔,妮萨,尼格尔,尼加提,尼鲁,尼露,尼萨,尼莎,尼牙孜,尼亚孜,尼叶蒂,尼扎木,努尔,努斯,热提,则力,帕,孜力,皮达,普拉提,齐曼,奇曼,乔力潘,乔丽番,乔丽潘,冉娜,热合曼,热赫木,热杰普,热介甫,热克甫,热娜,热依罕,热依汉,热扎克,热孜宛,热孜婉,肉索力,肉孜,如苏力,如孜,茹仙,萨阿,代提,萨巴,海提,萨比尔,萨比提,萨迪克,萨拉,买提,萨拉,麦提,萨拉木,萨吾提,萨依提,赛尔旦,赛福鼎,赛娜瓦尔,赛乃姆,赛乃木,赛排尔,赛皮丁,赛依提,色提,瓦力迪,色依提,沙巴海提,沙比尔,沙比提,沙拉买提,沙吾提,沙依提,司的克,斯拉木,苏里唐,苏力坦,苏皮,塔吉古丽,塔里甫,塔力甫,塔力普,塔西布拉克,塔依,坦吾皮克,提拉,提力瓦力迪,铁木尔,图尔,吐,托合提,瓦力斯,瓦热斯,维力,乌齐坤,乌图克,吾,吾守尔,吾吐克,吴尔凯西,西力甫,西热甫,西仁,希林,希仁,夏热拜提,仙拜,鲜拜,肖开特,肖开提,谢力甫,谢木斯,谢热甫,秀库尔,许库尔,雪合,拉提,来提,牙力昆,雅库甫,亚库,亚里坤,亚力坤,尧乐,博斯,尧勒,巴斯,伊巴,代提,伊禅,伊盖,伊里,哈木,依力,伊力,伊马木,伊敏,伊纳耶提,伊排提,伊善,伊斯拉哈提,伊斯拉木,依干拜尔迪,依明,吐尔,尤丽吐孜,玉丽吐孜,玉素甫,玉孜,叶尔,约麦尔,约日耶提,哈斯德尔,再乃甫,再乃普,扎伊提,罗提,布拉,孜,孜巴,孜亚,祖合热,祖姆,祖木,佐合热
{
	tmp_line =
	for a,b in ExcelObj[idx]
		tmp_line .= tmp_line ? "," b : b
	uyghur_data .= uyghur_data ? "`n" tmp_line : tmp_line
}
;中间带点
Else if RegExMatch(key,".*(\.|。|·).*")
{
	tmp_line =
	for a,b in ExcelObj[idx]
		tmp_line .= tmp_line ? "," b : b
	uyghur_data .= uyghur_data ? "`n" tmp_line : tmp_line
}
Else
{
{
	tmp_line =
	for a,b in ExcelObj[idx]
		tmp_line .= tmp_line ? "," b : b
	hanyu_data .= hanyu_data ? "`n" tmp_line : tmp_line
}
}
}
FileCreateDir, %A_ScriptDir%\%title%\
FileAppend, %uyghur_data%, %A_ScriptDir%\%title%\%title%_维语_%A_Now%.csv
FileAppend, %hanyu_data%, %A_ScriptDir%\%title%\%title%_汉语_%A_Now%.csv
SplashTextOff
MsgBox, 64, 提示, 已经分析生成完成!将会为您打开所在文件夹!
content =
run, %A_ScriptDir%\%title%\
Return


GuiClose:
ExitApp

EXCEL分维汉语数据.zip



来了就留个评论吧! 没有评论




友情链接:Autohotkey中文论坛Autohotkey中文帮助Autohotkey官网我的B站直播间如若生涯一场梦博客联系作者免GooglePlay APK下载

 主题设计 • skyfrit.com  Thinkai's Blog | 保留所有权利

63 queries in 1.553 seconds |