1 # -*- coding:utf-8 -*- 2 # @Time : 2021/9/15:10:56 3 # @Author: gujian 4 # @File : datefram 数据表操作.py 5 6 ''' #查看数据表结构类型 7 df.info() 8 df.dtypes 9 ''' 10 11 12 ''' #左联 13 all_sdate = pd.merge(date_list_1, date_list_2, left_on=['姓名','邮件ID'], right_on=['姓名','邮件ID'], how='left') 14 ''' 15 16 ''' #重新建立索引 17 all_sdate.reindex(columns = ['邮件ID']) 18 ''' 19 20 ''' #删除某一列 21 all_sdate.drop('批复日期_y',axis=1,inplace=True) 22 del df['销售辅助'] 23 ''' 24 25 ''' #复制到剪切板 26 all_sdate.to_clipboard(sep=',', index=None) 27 ''' 28 29 ''' #写入到excel 30 all_sdate.to_excel(pathfile, encoding='utf_8_sig', index=None) 31 ''' 32 33 ''' #为某行某列修改或增加数据 34 list.loc[pcount,'报备日期'] = data 35 ''' 36 37 ''' #创建一个空的datefram 38 list = pd.DataFrame(columns=['邮件ID','姓名','报备日期']) 39 ''' 40 41 ''' #查询sql并返回结果datefram格式 42 df = pd.read_sql(sql_text, con=con) 43 ''' 44 45 ''' #帅选某些符合的行 46 all_sdate = all_sdate[all_sdate['批复日期'].isin(['2021-09-15'])] 47 df = df[(df['创建时间'] > startDate) & (df['创建时间'] < endDate)] 48 ''' 49 50 ''' #重新选择某些列 51 result = result.reindex(columns=[u'courseId', u'teacherName', u'courseDate', u'courseName', u'beginTime', u'attendNum']) 52 ''' 53 54 ''' #行列转换 55 result = result.drop_duplicates().T.drop_duplicates().T 56 ''' 57 58 ''' #数据表的合并5中 59 @1、append纵向合并追加————all_course = all_course.append(dfdate, ignore_index=True) 60 @2、merge类似于关系数据库的链接————all_sdate = pd.merge(date_list_1, date_list_2, left_on=['姓名','邮件ID'], right_on=['姓名','邮件ID'], how='left') 61 @3、combine使用函数按列合并———— 62 @4、concate横向和纵向的合并———— 63 @5、join基于索引的链接合并———— 64 ''' 65 66 ''' #使用匿名函数 67 all_course['课程类型'] = all_course.apply(lambda x: fum_allcourse(x), axis=1) 68 all_course['听课时长'] = all_course['停留时间'].apply(lambda x: pd.to_datetime(x).hour * 3600 + pd.to_datetime(x).minute * 60 + int(pd.to_datetime(x).second)) 69 ''' 70 71 ''' #重命名 72 all_course.rename(columns={'courseId': 'fuzhu', 'teacherName': '排课老师', 'courseDate': '日期'}, inplace=True) 73 ''' 74 75 ''' #删除符合某些的行 76 all_course.drop(index=(all_course.loc[(all_course['分享人263'] == 'test')].index)) 77 ''' 78 79 ''' #插入数据库 80 df.to_sql(name='eightcorpus_intention', con=con, if_exists='append', index=False) 81 name:数据表名称 82 if_exists:添加方式,append为追加,replace替换,fail不做任何操作 83 index:索引是否作为一列插入数据库中 84 '''
datefram学习(持续更新)
志同道合一起学习,欢迎加入QQ群:878749917