
python
ZhanYunQI
这个作者很懒,什么都没留下…
展开
-
python字符串的处理
字符串:通过索引访问字符串,几乎所有的通过索引来访问的情况,索引用下标表示,[]a="hello world"print a[0]print a[-1]--通过python的for range 来处理b=" 123456789 "a=b.strip()total=0for i in a:total+=int(i)print total原创 2016-10-17 18:56:27 · 511 阅读 · 0 评论 -
python对json格式字符串的处理
import jsonimport osdef pro_json(line):element=[]codejson=json.loads(line)cust_pty_no=codejson['cust_pty_no']entrust_no=codejson['entrust_no']tradingcode=codejson['tradingcode']if 'err原创 2016-10-17 19:03:40 · 3140 阅读 · 0 评论 -
python 声明式编程
方式一:content=[]f=open("E:\python\data\stock_entrust.txt",'r')line = f.readline()print linewhile(line): content.append(line) line=f.readline()print len(content)f.close()方式二:with o原创 2017-04-16 11:48:34 · 1002 阅读 · 0 评论 -
在python中函数是第一类对象
python中,所有的元素都是对象,其中第一类对象的通用特性:可作为值传递,赋值给另一个对象;可以作为元素添加到集合对象中;可以作为参数传递给其他函数;可以作为函数的返回值1,赋值给变量def f1(str): return len(str)temp=f1print temp('hello')2,添加到集合对象中def f2(str1,原创 2017-05-01 14:55:54 · 990 阅读 · 0 评论 -
生成器
生成器就是一种变循环边计算的一种函数,或者说是机制,也可以说是一种函数语法定义的一种迭代器,当计算到某一个值的时候,会将当时的状态暂存下来,第二次迭代,会根据当时的状态去计算,所以生成器并不像列表将所有的值放到内存中看下面的例子:将目录下面的所有文件打印出来,一般递归方法def list_file(curpath,files): if os.path.i原创 2017-05-01 14:29:32 · 335 阅读 · 0 评论 -
python format
语法它通过{}和:来代替%。“映射”示例通过位置In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.format('kzc',18) Out[3]: '18,k原创 2017-04-18 20:47:30 · 397 阅读 · 0 评论 -
python 小技巧
字典推导式与列表推导式L = [1, 2, 3, 4, 5, 6, 7, 8, 9]#st=dict([(i,i*10) for i in L])st={i:i*10 for i in L}print stx=[m*m for m in range(10)]print x原创 2017-04-18 20:28:55 · 273 阅读 · 0 评论 -
python 将对象设置为可迭代有两种实现方式
python 将对象设置为可迭代有两种实现方式:1,实现 __getitem__(self)class Library(object): def __init__(self): self.value=['a','b','c','d','e'] def __getitem__(self, i): if i>=len(s原创 2017-04-17 20:28:03 · 4231 阅读 · 0 评论 -
python 正则表达式,函数说明
1,findall(pattern,string)返回所有符合pattern的字符串,返回值是列表的格式;如果匹配有多个分组,那么列表的元素是一个元组key="my w2014-12-12orld helLO a2015-10-10ahello"pat=re.compile("(\d+)-(\d+)-(\d+)",re.I)result=pat.findall(key)prin原创 2017-03-31 18:58:24 · 470 阅读 · 0 评论 -
spark 报错收集
最近做spark sql开发碰到了许多问题,下面对报错信息做下记录1, StructType can not accept object in type 将RDD创建成DataFrame的时候,报上述错误,修正方式如下:将RDD中的行转换成Row类型就可以了2,1, RDD转换成DataFrame的时候,报错:TypeError Integer typ原创 2017-01-11 19:54:08 · 1904 阅读 · 0 评论 -
sparkSql(hive) 复合数据类型的使用
在Hive中可以使用复合数据类型,有三种常用的类型:Array 数组,Map 字典,Struct结构。在sparkSql中RDD可以转换成非常灵活的DataFrame,但是如果需要将数据结构完整的存储为Hive表,那么在RDD到DataFrame转换中需要遵守一些规则。在Hive中创建复合数据类型的语法:create table plan(clientid string原创 2017-01-09 22:48:09 · 3068 阅读 · 0 评论 -
TypeError:'NoneType' object is unsubscriptable
python_spark开发的时候,报错TypeError:'NoneType' object is unsubscriptable 打印RDD首条数据没有问题,但是整体插入到HIVE表的时候就报错了,分析发现当结构organization不存在的时候,item[1][1][0],item[1][1][1],item[1][1][2]) 均将无法访问,在范文钱对RDD做一个过滤即可解决问题原创 2016-12-03 12:48:03 · 5091 阅读 · 0 评论 -
python 排序
sorted函数返回一个List对象排序后的副本,sorted(temp,key,reverse),key可以使用函数实现,接受一个值,通过这个值来进行排序#coding=utf-8import timeimport datetimeimport osimport mathdef just_order(a): temp=a[1] data_pat=re.co原创 2016-11-23 20:48:41 · 332 阅读 · 0 评论 -
python 函数式编程
函数式编程首先要确定一点就是:函数 != 函数式,函数式编程是一种编程的范式。 特点:把计算视为函数而非指令纯函数式编程,不需要变量,没有副作用,测试简单支持高阶函数,代码简洁Python 函数式编程的特点需要注意的是,Python 不是也不可能会成为一种纯函数是编程语言,但 Python 仍支持许多有价值的函数式编程语言的构建方法。Python 不是纯转载 2016-12-03 12:24:42 · 543 阅读 · 0 评论 -
python异常的处理
主动抛出异常raise IOError('this is a test')def get_age():while True: #大小写敏感 True 不是 truetry:n=int(raw_input('How Old You\n'))return nexcept ValueError:print 'please input an integer va原创 2016-10-17 19:02:10 · 414 阅读 · 0 评论 -
python输入输出的处理
可以借鉴c语言的字符串x=0.2345623print ('%.2f' %x)y='hello world'print ('%.2f means %s\n' %(x,y))还有format 这一块功能强大,但是也比较复杂文件夹及文件的操作,windows 是左耳,linux是右耳import osprint os.getcwd() #返回当前的工作目原创 2016-10-17 19:01:15 · 520 阅读 · 0 评论 -
python集合的处理
序列的通用方法:1,索引2,负数索引3,切片a=(1,2,3,4,5,6)print a[0:0] =>()print a[0:1] =>(1,)print a[0:2] =>(1,2)print a[0:2] =>(1,2,3)4,拼接(+/*)a=[1,3,4]b=['a','b','c']c=a+bprint c5, len()原创 2016-10-17 19:00:16 · 526 阅读 · 0 评论 -
python 面试题
Python的类就是个语法糖。一个函数写在类里面和写在类外面没有区别,唯一的区别就是参数,所谓实例方法就是第一个参数是self,所谓类方法就是第一个参数是class,而静态方法不需要额外的参数,所以必须区分deffoo(x): print"executing foo(%s)"%(x) classA(object): def原创 2017-04-16 16:55:32 · 555 阅读 · 0 评论