python基础0528

第13章 数据库连接

  1. 将数据导入数据库
    import sqlite3
    
    def convert(value):#使用工具函数convert对各行进行分割并对各个字段进行转换
        if value.startswith('~'):
             return value.strip('~')
        if not value:
             value='0'
        return float(value)
    
    conn=sqlite3.connect('food.db')
    curs=conn.cursor()#游标可以用来执行SQL查询
    #插入sql语句
    curs.execute('''
    CREATE TABLE food(
    id TEXT PRIMARY KEY,
    desc TEXT,
    water FLOAT,
    kcal FLOAT,
    protein FLOAT,
    fat FLOAT,
    ash FLOAT
    
    )
    ''')
    query ='INSERT INTO food VALUES(?,?,?,?,?,?,?)'
    field_count=7
    for line in open('adc.txt'):
        fields=line.split('^')
        vals=[convert(f) for f in fields[:field_count]]
        curs.execute(query,vals)
    
    conn.commit()#提交事务
    conn.close()

     

  2. 简单的GUI图形界面设计

    from tkinter import *
    from tkinter.scrolledtext import ScrolledText
    
    def load():
        with open(filename.get()) as file:
            contents.delete('1.0',END)#使用'1.0'来指定第1行的第0个字符,使用END来指定文本末尾
            contents.insert(INSERT,file.read())
    
    def save():
        with open(filename.get(),'w') as file:
            file.write(contents.get('1.0',END))
    
    top=Tk()#实例化一个对象作为主窗口的顶级组件
    top.title("Simple Editor")
    
    contents=ScrolledText()
    contents.pack(side=BOTTOM,expand=True,fill=BOTH)#布局管理器pack帆帆发 告诉Tkinter将它放在什么地方
    
    filename=Entry()
    filename.pack(side=LEFT,expand=True,fill=X)
    
    Button(text='Open',command=load).pack(side=LEFT)
    Button(text='Save',command=save).pack(side=LEFT)
    
    mainloop()#调用mainloop函数进入Tkinter主时间循环

     

  3. 数据库查询程序

    import sqlite3,sys
    
    conn=sqlite3.connect('food.db')
    curs=conn.cursor()
    
    query='SELECT * FROM food WHERE '+sys.argv[1]
    print(query)
    curs.execute(query)
    names=[f[0] for f in curs.description]
    for row in curs.fetchall():#以序列的方式取回余下的所有行
        for pair in zip(names,row):
            print('{}:{}'.format(*pair))
        print()
    

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值