【day7】: [复习day6课程] pymysql数据库表导入到excel/ sys模块 / 在a文件中导入b文件...

 

 

1.将数据库中表,导入到excel中

 

1.把每一行的数据,放在字典里了

1 import pymysql,xlwt
2 
3 conn=pymysql.connect(host='118.24.3.40',user='jxz',password='123456',
4                 port=3306,db='jxz',charset='utf8',autocommit=True) #连接数据库
5 cur=conn.cursor(cursor=pymysql.cursors.DictCursor) #指定游标类型:返回类型为字典(理解为有人帮我们拿东西)
6 cur.execute('select * from app_student limit 10;')
7 print(cur.fetchall())
8 cur.close()
9 conn.close()

# 运行结果如下: (把每一行的数据,放在字典里了)
1
G:\install_disk\python\python.exe G:/python-DownLoad/练习code/day7/练习.py 2 [{'id': 1, 'age': 28, 'gold': 89188, 'name': '小黑马', 'phone': '18002531114', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 2, 'age': 28, 'gold': 400, 'name': '小黑马', 'phone': '15030682061', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 3, 'age': 28, 'gold': 100, 'name': '小黑马', 'phone': '15030682062', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 4, 'age': 28, 'gold': 100, 'name': '小黑马', 'phone': '15030682063', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 5, 'age': 28, 'gold': 100, 'name': '小黑马', 'phone': '15030682064', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 6, 'age': 28, 'gold': 100, 'name': '小黑马', 'phone': '15030682065', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 7, 'age': 28, 'gold': 2300, 'name': '小黑马', 'phone': '15030682066', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 8, 'age': 28, 'gold': 100, 'name': '小黑马1', 'phone': '13456777723', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 9, 'age': 28, 'gold': 100, 'name': '小黑马1', 'phone': '13456777773', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}, {'id': 10, 'age': 28, 'gold': 100, 'name': '小黑马1', 'phone': '13456772373', 'grade': '天蝎座', 'addr': '河南省济源市北海大道32号', 'sex': ''}]

 

2. 导出app_student 数据库中的表到 excel中:

 

 

 1 import pymysql,xlwt
 2 
 3 conn=pymysql.connect(host='118.24.3.40',user='jxz',password='123456',
 4                 port=3306,db='jxz',charset='utf8',autocommit=True) #连接数据库
 5 # cur=conn.cursor(cursor=pymysql.cursors.DictCursor) #指定游标类型:返回类型为字典(理解为有人帮我们拿东西)
 6 cur=conn.cursor()
 7 cur.execute('select * from app_student limit 10;')
 8 print(cur.description) #表的信息
 9 fileds= [filed[0] for filed in cur.description] #列表生成式 (获取所有字段)
10 print(fileds)
11 data=list(cur.fetchall()) #把"元组"转换成"list"
12 data.insert(0,fileds)
13 #insert只会加数据,不会返回结果,所以不能这样写data=list(cur.fetchall()).insert(0.fileds)
14 print(data)
15 book=xlwt.Workbook()
16 sheet=book.add_sheet('sheet1')
17 
18 # # #-----------------------第一种方法如下:---比较高端---------------
19 # for index,line_data in enumerate(data): #【第一行】enumerate自动计算下标(index:下标)
20 # #      ###下标0   ['id','name','sex']
21 # #      ### 下标1   [1,xhy,nn]
22 #     for index2,col_data in enumerate(line_data): #【列】
23 # #        # # 0,id
24 # #        # #1,name
25 # #        # #2,sex
26 #         sheet.write(index,index2,col_data)  #往表里写数据
27 # #       # # 0,0,id
28 #        # #0,1,name
29 #        # #0,2,sex
30 
31 # #-----------------------第2种方法如下:------------------
32 line=0  #行号
33 for d in data:  #控制 行号
34     #####下标0   ['id','name','sex']
35     col = 0  #
36     for col_data in d: #控制 列
37         sheet.write(line,col,col_data)
38         col+=1  #行不变,每次列加1
39     line+=1 #每行加1
40 #-----------------------------
41 
42 
43 book.save('xhy.xls')
44 # 1. 一个一个单元格写,先写第一行的每个单元格
45 # 2. 写每一行的时候,行号是不变的,列在变
46 # 3. 嵌套循环
47 
48 cur.close()
49 conn.close()
50 
51 # for i in range(5):
52 #     for j in range(10):
53 #         print('hhh')

 

 

运行结果如下:

 

注:其中

fileds= [filed[0] for filed in cur.description] #列表生成式 (获取所有字段)
得到结果为 如下所示第3行:['id', 'name', 'sex', 'age', 'addr', 'grade', 'phone', 'gold']

data=list(cur.fetchall()) #把"元组"转换成"list"
data.insert(0,fileds)
得到结果为 如下所示第4行: 表示在“列表”中第1个元素中增加“所有字段名称”

 

 2.sys模块

 

  • 2.1 sys

        2.1.1 导入模块的顺序(跨目录时) 

1、当前目录下找这个python文件
2、去python的环境变量里面找这个python文件

                   2.1.1 导入模块的实质

                把这个模块的代码,从头到尾执行一次

 1 import sys
 2 # print(sys.argv) #运行python文件时,会将传入的参数,都放到这个argv里面
 3 
 4 # 在Terminal中运行:
 5 # G:\python-DownLoad\练习code\day7>python 2.sys模块学习.py install hhh
 6 # ['2.sys模块学习.py', 'install', 'hhh']
 7 
 8 
 9 #python run_case.py aa.xls
10 
11 command=sys.argv  #它的参数是大于1
12 if len(command)>1:   #大于1 表示已传参数
13     exec =command[1]
14     print('用例已运行完成',exec)
15 else:
16     print("运行这个python文件时,需要传入一个用例名称:如:python run_case.py case.xls")

 

1 G:\install_disk\python\python.exe G:/python-DownLoad/练习code/day7/2.sys模块学习.py
2 运行这个python文件时,需要传入一个用例名称:如:python run_case.py case.xls
  • 2. 跨目录导入模块

 1 import pymysql
 2 
 3 print('1--pymysql.VERSION',pymysql.VERSION)
 4 
 5 import sys
 6 print('2---sys.path',sys.path)
 7 
 8 # 运行结果如下:
 9 # ['G:\\python-DownLoad\\练习code\\day7', 'G:\\python-DownLoad\\练习code', 'G:\\install_disk\\python\\python35.zip', 'G:\\install_disk\\python\\DLLs', 'G:\\install_disk\\python\\lib', 'G:\\install_disk\\python', 'G:\\install_disk\\python\\lib\\site-packages', 'G:\\install_disk\\python\\lib\\site-packages\\setuptools-23.0.0-py3.5.egg']
10 
11 # 所有第三方文件都 是安装在这个packages目录下: (环境变量目录)
12 # G:\install_disk\python\Lib\site-packages      (将spz.py文件放在这个目录下,它里面内容只有name='水瓶座')
13 
14 import spz
15 print('3---spz.name:',spz.name)
1 1--pymysql.VERSION (0, 9, 0, None)
2 2---sys.path ['G:\\python-DownLoad\\练习code\\day7', 'G:\\python-DownLoad\\练习code', 'G:\\python-DownLoad\\练习code\\day7\\my_api', 'G:\\install_disk\\python\\python35.zip', 'G:\\install_disk\\python\\DLLs', 'G:\\install_disk\\python\\lib', 'G:\\install_disk\\python', 'G:\\install_disk\\python\\lib\\site-packages', 'G:\\install_disk\\python\\lib\\site-packages\\setuptools-23.0.0-py3.5.egg']
3 3---spz.name: 水瓶座

 

导入模块的实质:    把这个"导入模块"的代码,从头到尾执行一次

 3.a.py文件里的内容只有:
1 import b

  b.py文件里面的内容如下:

 

1 print('这是一个b文件')
2 name='hahaha'
3 
4 def my():
5     print('this is jzk')
6 my()
7 print('这是最后一行代码!')

在3.a.py文件中运行结果如下:

1 这是一个b文件
2 this is jzk
3 这是最后一行代码!

另外一种方式如下:

a.py 文件里写  from b import name,my   表示把b文件导入到a文件中,把b文件里name和my方法都拿过来

 

 

 当代码 中存在 if __name__ == '__main__':  时,不会执行下面的它下面的代码 ,

在a.py文件运行时,它是不会执行if __name__=='__main__'

  在b.py文件中运行结果如下: 

b.py中运行if __name__=='__main__' 它下面的代码 

 

导入其它目录下的python文件:

 

转载于:https://www.cnblogs.com/xhybk/p/9325984.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值