def Num2Chinese(Num): # 判断输入的值是否为数字,如果不是数字,直接报错! if (not isinstance(Num, (int, float, str))): return 'The type is not a Number, cannot to transform !' else: NumString = str(Num) # 如果是小数,则将整数部分与小数部分分开 Num_int = NumString Num_dec = '' for i in range(len(NumString)): if (NumString[i] == '.'): Num_int = NumString[0:i] Num_dec = NumString[i + 1:] break # 输出小数部分 if (Num_dec != ''): dec_string = Num_List['.'] while (1): if (Num_dec[-1] == '0'): Num_dec = String_func.Str_del_letter(-1, Num_dec) else: break for strN in Num_dec: dec_string = dec_string + Num_List[strN] else: dec_string = Num_dec # 输出整数部分 IntNum = str2int.str2int(Num_int) int_string = Int2Chinese(IntNum) # 合并整数和小数部分,并输出 return int_string + dec_string
def get_area(province): Area = { 'East': ['zhejiang', 'shanghai', 'jiangsu', 'fujian', 'anhui'], 'SouthEast': ['guangdong', 'guangxi', 'yunnan', 'guizhou'], 'NorthEast': ['beijing', 'tianjing', 'hebei', 'henan', 'shangdong'] } DisArea = Dict_deal.Key2Value(Area) # 取得省份与区域对应的dict YourArea = 'others' for key in DisArea: # 把省份都转成小写字母并比较 # print(key, DisArea[key]) if (String_func.StringLower(province) == key): YourArea = DisArea[key] return YourArea
def Numin4(Num, zerotag=0): NumStrList = [''] errorinfo = 'The Bit of Number is longer than 5, cannot transform !' if (isinstance(Num, int)): NumString = str(Num) elif (isinstance(Num, str)): NumString = Num else: return errorinfo deltag = 0 while (1): if (NumString[0] == '0'): NumString = String_func.Str_del_letter(0, NumString) deltag = 1 else: break Numlen = len(NumString) if (Numlen > 4): return errorinfo elif (str2int.str2int(NumString) == 0): Num2String = Num_List['0'] else: i = -1 j = 0 while (i >= -Numlen): if (NumString[i] == '0' and NumStrList[0] == ''): NumStrTemp = '' elif (NumString[i] == '0' and NumStrList[0] == Num_List['0']): NumStrTemp = '' elif (NumString[i] == '0'): NumStrTemp = Num_List['0'] else: NumStrTemp = Num_List[NumString[i]] + Unit_List[j] NumStrList.insert(0, NumStrTemp) i = i - 1 j = j + 1 if (zerotag != 0 and deltag == 1): Num2String = Num_List['0'] else: Num2String = '' for Strkey in NumStrList: Num2String = Num2String + Strkey return Num2String
# 对模块的使用测试 # -*- coding: utf-8 -*- import sys import math import functools from LearnModule import Module_test from LearnModule import StringSplit from LearnModule import String_func print('the module\'s note is :', Module_test.__doc__) print('the module\'s author is :', Module_test.__author__) print('the module\' edit time is : ', StringSplit.__edittime__) # Module_test.test() StrList = 'aaa,acb.923asd,88sdfffdd.,sdfk__sldf,1sdfjjj,asiw2,ddd,AFD' # 先进行字符串拆分 StrNList = StringSplit.stringsplit(StrList, (',', 's')) # 给每个字符串加上分隔符 for StrN in StrNList: print(String_func.StringAddVal(StrN, '***'))
datafilepath1 = r'F:\documents\python\learning2017\program data\高校相关数据\2016年全国高等学校名单.csv' datafilepath2 = r'F:\documents\python\learning2017\program data\高校相关数据\985 and 211名单.csv' datafilepath3 = r'F:\documents\python\learning2017\program data\高校相关数据\中西部高校基础能力建设工程.csv' datafilepath4 = r'F:\documents\python\learning2017\program data\高校相关数据\高等学校学科创新引智计划.dat' datafilepath5 = r'F:\documents\python\learning2017\program data\高校相关数据\教育部与地方共建高校.dat' datafilepath6 = r'F:\documents\python\learning2017\program data\高校相关数据\教育部直属高等学校名单.dat' datafilepath7 = r'F:\documents\python\learning2017\program data\高校相关数据\全国高校名录.dat' # ========== 读取大学名称及其英文全称 ========== HighSchoolNameList = {} with open(datafilepath7, mode = 'r', encoding= 'utf-8') as infile: for aline in infile.readlines(): aline_str = aline.strip() # print(aline_str) for i in range(len(aline_str)): if(String_func.if_enletter(aline_str[i])): if(i == 0): break else: # print(aline_str[i]) HighSchoolNameList[aline_str[:i].strip()] = aline_str[i:].strip() break HighSchoolNamekeys = HighSchoolNameList.keys() # for key in HighSchoolNameList: # print('%s:%s' %(key,HighSchoolNameList[key])) # ========== 读取中西部高校基础能力建设工程高校信息 ========== # NBACcount = 0 NBACSchoolList = [] # i = 1 for Aschool in readCSV(datafilepath3,'GBK'):
def if_huishu(n): return str(n) == String_func.str_reverse(str(n))
def readCSV(filepath, reqcode='utf-8'): with open(filepath, mode='r', encoding=reqcode) as infile: datalist = [] for aline in csv.reader(infile): datalist.append(aline) return datalist DataDistrList = [] for aline in readCSV(filepath): DataRec = {} if (not aline[0].isdigit()): DataDistr = StringSplit.stringsplit(aline[0], ('(', ')')) try: DataRec[DataDistr[0]] = String_func.StrExtractNum(DataDistr[1], 1)[0] except IndexError: continue DataDistrList.append(DataRec) with open(r'F:\documents\python\learning2017\program data\高校相关数据\高校按省分布.dat', mode='w', encoding='utf-8') as outfile: for Arec in DataDistrList: for key in Arec: outfile.write('%s\t%d' % (key, Arec[key])) outfile.write('\n')