Python作业--7(Mysql,Excel练习题)

***Mysql:将图片写入数据库,读取出来并保存***

import os

import pymysql

#提取图片
def search_imginfo(dir):
    imgInfo = []
    lis = [file for file in os.listdir(dir) if file.endswith(('.jpg', '.png'))]
    for i in lis:
        with open(dir + i, 'rb') as f:
            imgInfo.append([i, f.read()])
    return imgInfo


conn = pymysql.connect(host='localhost', user='root', passwd='wl1009', db='wanglang', charset='utf8')
cur = conn.cursor()
#写入图片文件
try:
    insert_info = 'insert into images (imgName,imgData) values(%s,%s)'
    cur.executemany(insert_info, search_imginfo('/root/Desktop/img/'))
    print('图片添加完成...')
except Exception as e:
    print(e)
#读取图片文件
try:
    reaf_sql = 'select * from images'
    cur.execute(reaf_sql)
    for img in cur.fetchall():
        with open('/root/Desktop/img111/%s' % img[1], 'wb') as f:
            f.write(img[2])
    print('图片读取成功...')

except Exception as e:
    print(e)
finally:
    conn.commit()
    cur.close()
    conn.close()




Excel:
目标:
    编写一个脚本,从人口普查电子表格文件中读取数据,并在几秒钟内计算出每个县的统计值。


步骤:
    从 Excel 电子表格中读取数据。
    计算每个县中普查区的数目。
    计算每个县的总人口。
    打印结果。


import openpyxl


def refer():
    wb = openpyxl.load_workbook('/root/Desktop/day14/excelDemo/P.xlsx')
    sheet = wb.active
    dic = {'AL':{'Autauga':[0,0]}}

    for row in sheet.rows:
        if [cell.value for cell in row][1] not in dic:

            dic[[cell.value for cell in row][1]] = {}
        else:
            if [cell.value for cell in row][2] not in dic[[cell.value for cell in row][1]]:
                dic[[cell.value for cell in row][1]][[cell.value for cell in row][2]]=\
                    [[cell.value for cell in row][3], 1]
            else:
                dic[[cell.value for cell in row][1]][[cell.value for cell in row][2]][0] += \
                    [cell.value for cell in row][3]
                dic[[cell.value for cell in row][1]][[cell.value for cell in row][2]][1] += 1
    
    while 1:
        State= input('区县所在州:')
        County=input('区县:')
        try:
            print( '%s州%s县的总人数:%s 有%s个人口普查区'%(State,County,dic[State][County][0],dic[State][County][1]))
        except Exception as e:
            print(e)




refer()


猜你喜欢

转载自blog.csdn.net/wl_python/article/details/80619541