python 使用pymysql上传excel数据

作者:神秘网友 发布时间:2021-02-27 21:20:05

python 使用pymysql上传excel数据

from django.shortcuts import render, HttpResponse
from Day72bbs.settings import MEDIA_ROOT
from docxtpl import DocxTemplate
import os
import xlrd
MEDIA_ROOT  在 settings.py 中的设置为 
MEDIA_URL='/doctemplates/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'doctemplates')


'''
将数据插入数据库
wrdb
'''

def wrdb(filename):
readboot = xlrd.open_workbook(MEDIA_ROOT +'/' + r'uploadfile/' + filename)
sheet = readboot.sheet_by_index(0)
nrows = sheet.nrows
ncols = sheet.ncols
print("*"*100)
print(nrows,ncols)
print("*" * 100)

sql = " insert into tab_exportexcel (name,gender,minzu,idcard," \
"phone,email,phone2,edu1,edu2,edu3,skill1,skill2) values "

for i in range(1,nrows):
row = sheet.row_values(i)
name=str(row[0]).strip("'")
gender=str(row[1]).strip("'")
minzu=str(row[2]).strip("'")
idcard=str(row[3]).strip("'")
phone=str(row[4]).strip("'")
email=str(row[5]).strip("'")
phone2=str(row[6]).strip("'")
edu1=str(row[7]).strip("'")
edu2=str(row[8]).strip("'")
edu3=str(row[9]).strip("'")
skill1=str(row[10]).strip("'")
skill2=str(row[11]).strip("'")
values = "( '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s' ,'%s')"%(name,gender,minzu,idcard,phone,email,phone2,edu1,edu2,edu3,skill1,skill2)
sql = sql + values +","

sql = sql[:-1]
print(sql)

import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root',
password='123', database='day64',
port=3306, charset='utf8mb4')
cursor = conn.cursor()
try:
cursor.execute(sql)
conn.commit()
except Exception :
conn.rollback()
finally:
cursor.close()
conn.close()


# print(sql)






def upload(request):
if request.method=="POST":
file = request.FILES.get('file')
if not os.path.exists(MEDIA_ROOT):
os.makedirs(MEDIA_ROOT)

try:
if file is None:
return HttpResponse("请选择要上传的文件")

print(MEDIA_ROOT +'/' + r'uploadfile/')
print(file.name)
with open(MEDIA_ROOT +'/' + r'uploadfile/' + file.name,'wb') as f:
for i in file.readlines():
f.write(i)
wrdb(file.name)

except Exception as e:
return HttpResponse(e)

return HttpResponse('文件上传成功')

if request.method=="GET":
return render(request,"uploadExcel.html")

python 使用pymysql上传excel数据 相关文章

  1. 数据库之存储过程

    存储过程 1.什么是存储过程 存储过程就类似于python中的自定义的函数,它的内部包含了一系列可以执行的sql语句,存储过程存放于mysql服务端中,你可以直接通过调用存储过程触发内部sql语句的执行 2.存储过程的基本使用 procedure /pr??si?d??(r) 程序, 过程 --

  2. 数制与进制转换

    数制 计算机中常用的数制 概念 使用数字量表示物理量时, 仅用一位编码一般不够用, 因此经常会使用多位数码 进位计数制 \[0 \backsim 9 \rightarrow 10 \backsim 99 \rightarrow 100 \backsim 999 \rightarrow \cdots \cdots\] 多位数码中每一位的构成方法以


  3. 1- 什么是构造函数 在js中,使用new关键字调用的函数为构造函数,构造函数首字母一般大写. 2- 创建对象的方式有哪些举例说明: (1) 使用new关键字创建: var person = new Object() person.name = '张三'; person.age = 12; person.say = function () { console.

  4. Vue3不使用node.js,开发html应用

    之前一起用node.js搭建环境,今天突然vue create项目卡壳不动,但只想练小demo,找半天没找到空环境搭建方法 后来在另一网友帮助下,找到答案 这里没有使用new Vue ,使用了mainDiv.mount("#wrapper") 进行挂载 !DOCTYPE htmlhtml lang="en"head meta charset="UT

  5. 使用createrepo构建本地yum仓库

    rpm包安装的时候会有很多软件会出现因为其他依赖包没有,而导致安装失败的情况。一般可以连接外网的时候我们直接使用 yum 进行安装,可以为我们解决依赖包关系,但是很多工作环境下是没有外网的,内网情况下就需要我们自行准备软件包进行安装,而安装包较多

  6. python给证件照换底色

    import cv2import numpy as npfrom tkinter import *from tkinter import ttkimport tkinter as tkimport tkinter.filedialogimport osroot = Tk()root.title('证件照背景色更换')root.geometry('400x300')SelectNum = tk.IntVar() # 用来储存下面勾选项1中

  7. k8s kubectl 常用命令,使用yaml部署

    # 生成命令对应的yaml文件(资源清单) kubectl create deployment xxxxxxxxxxx --image=nginx --dry-run -o yaml kubectl create deployment xxxxxxxxxxx --image=nginx --dry-run -o yaml xxxxxxxxxxx.yaml kubectl create deployment sss-nginx-sss --ima

  8. JDBC基础

    JDBC基础 1.使用步骤 JDBC是标准,不同数据库厂商用不同数据库的驱动程序来实现 优点: 统一API,提供一致开发过程 易学习,上手 功能强大,效率高,可处理海量数据 1.1 流程 加载并注册JDBC驱动; 创建数据库连接; 创建Statement对象; 遍历查询结果; 关

  9. LeetCode | 0669. 修剪二叉搜索树【Python】

    问题 力扣 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存

  10. python 雷达图 转载:https://mp.weixin.qq.com/s/M1f0ItGQz3BKZTIe1ootYQ

    一、前言 我们平常玩游戏或者看电影的时候,会看到里面介绍各种人的能力指标。 以百度百科提供的漫威人物能力数值为例,如下图: 分别介绍了各个超级英雄的智力、力量、速度、耐力、能量发射、战斗技能。 但是吧,光是这样的表格,并不能很直观的看出英雄的

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词