读取excel数据需要注意的地方以及读取方式:

  1. python读取excel表时,需要注意对时间的处理:
    原因:
    在使用xlrd读取Excel表格中的日期格式时,读出的内容和原来Excel表格中的内容不一致。读取出来的是一个浮点数。导致不能正确使用。而xldate_as_tuple方法可以很好地解决这个问题。
    函数定义:
def xldate_as_tuple(xldate, datemode)
  • 参数一:要处理的单元格值
  • 参数二:时间基准(0代表以1900-01-01为基准,1代表以1904-01-01为基准,此处一般选择0即可)
    返回值:返回一个元组,他的值类似于(year, month, day, hour, minute, nearest_second)
  1. 使用python将时间写入数据库中表里面时,需要注意对时间格式的处理:
    时间需要处理成2020-11-20样式的字符串(具体处理方式详见后面的代码内容),只有这样处理,时间才能自动在数据库被自动转换成datetime或者date类型
  2. 接受数据表中的时间列类型需要设置为date或者datetime类型
drop table tb_msgstock;
create table tb_msgstock
(
Date date not null,
open float not null,
High float not null,
Low float not null,
Close float not null,
Adj_close float not null,
Volume float not null
);
  1. 参考代码如下所示:
import xlrd
import MySQLdbconn = MySQLdb.connect(host='47.115.130.16', port=3306,database='hrs3', charset='utf8',user='root', password='123Hcl456&',autocommit=False)
# 使用xlrd模块的open_workbook函数打开指定Excel文件并获得Book对象(工作簿)
wb = xlrd.open_workbook('阿里巴巴2017年股票数据.xlsx')
# 通过Book对象的sheet_names方法可以获取所有表单名称
sheetname = wb.sheet_names()[0]
# 通过指定的表单名称获取Sheet对象(工作表)
sheet = wb.sheet_by_name(sheetname)
# 通过Sheet对象的nrows和ncols属性获取表单的行数和列数
print(sheet.nrows, sheet.ncols)
try:with conn.cursor() as cursor:for row in range(sheet.nrows):params=[]for col in range(sheet.ncols):# 通过Sheet对象的cell方法获取指定Cell对象(单元格)# 通过Cell对象的value属性获取单元格中的值value = sheet.cell(row, col).value# 对除首行外的其他行进行数据格式化处理if row > 0:# 第1列的xldate类型先转成元组再格式化为“年月日”的格式if col == 0:# xldate_as_tuple函数的第二个参数只有0和1两个取值# 其中0代表以1900-01-01为基准的日期,1代表以1904-01-01为基准的日期value = xlrd.xldate_as_tuple(value, 0)value = f'{value[0]}-{value[1]:>02d}-{value[2]:>02d}'# 其他列的number类型处理成小数点后保留两位有效数字的浮点数else:value = f'{value:.2f}'params.append(value)param=tuple(params)print(param)if row > 1:cursor.execute('insert into tb_msgstock(Date,open,High,Low,Close,Adj_close,Volume) ''values (%s,%s,%s,%s,%s,%s,%s)',param)print("添加成功")conn.commit()except MySQLdb.MySQLError as err:print(err)conn.rollback()
finally:conn.close()

python读excel数据并写入数据库的方法相关推荐

  1. .Net C# 如何读取Excel数据内容写入数据库并通过DataGridView控件动态刷新显示

    目录 介绍 选择Excel文件并读取内容 将数据内容写到数据库 更新dataGridView内容 介绍 本篇文章主要介绍C# winForm窗体如何打开Excel文件读取其中的内容,并将其内容写到数据 ...

  2. python实现excel数据与mysql数据库互通有无

    [阅读全文] python在制作一些小工具上本身就有着得天独厚的优势,大多数非标准库的应用只需要进行简单的安装即可使用. 比如:使用python将excel中的数据导入到mysql数据库表中,或是将m ...

  3. python接入excel_使用Python实现Excel数据表导入数据库

    原博文 2020-06-16 09:48 − import pymysqlimport xlrdfrom xlrd import xldate_as_tupleimport datetime# 连接数 ...

  4. python接入excel_使用python将excel数据导入数据库过程详解

    因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接丢代码,使用python3,注释比较清楚. ...

  5. python读取数据库数据、并保存为docx_Python从数据库读取大量数据批量写入文件的方法...

    Python从数据库读取大量数据批量写入文件的方法 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据 ...

  6. python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案

    [问题描述]:python将EXCEL数据导入数据库时日期变成文本型数据并显示为数字格式 [解决方案] 数据源: codes: #!/usr/bin/python3 -- coding: utf-8 ...

  7. python读取excel送到网页_python怎么读取excel!怎么用python将excel数据写入网页中

    怎么用python将excel数据写入网页中 # 装 xlrd-0.9.2 xlutils-1.7.1 这两个模 from xlwt import Workbook, Formula import x ...

  8. Python从数据库读取大量数据批量写入文件的方法

    今天小编就为大家分享一篇Python从数据库读取大量数据批量写入文件的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将 ...

  9. 使用python将excel数据导入数据库

    https://www.cnblogs.com/longbigbeard/p/9309180.html 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 py ...

最新文章

  1. android 本地图片uri格式不一致,Android本地相册图片URI转换绝对路径
  2. TensorFlow入门(二)简单前馈网络实现 mnist 分类
  3. Access库的小问题
  4. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题
  5. 简单递推公式转换矩阵求解
  6. android---am命令
  7. 学Linux从编译命令开始——arm-linux-gcc常用参数讲解
  8. leetcode7 整数反转
  9. 电脑版剪映v0.6.9内测版
  10. c 连接mysql数据库查询_C语言实现访问及查询MySQL数据库的方法
  11. PLSQL Developer图形化窗口创建数据库全过程
  12. 【Hadoop】Hadoop SocketChannelImpl UnresolvedAddressException
  13. Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
  14. L2-002 链表去重 (25 分)—团体程序设计天梯赛
  15. HDU2066--一个人的旅行(Dijkstra)
  16. Raki的统计学习方法笔记0xF(15)章:奇异值分解
  17. 城建坐标与经纬度转换工具
  18. c语言单项选择题标准化考试系统,c语言课程设计(单项选择题标准化考试系统)分析报告.doc...
  19. 十年经验教你如何学习嵌入式
  20. Tippy.js - 免费开源且高度可定制的气泡提示独立组件

热门文章

  1. 找工作的“金三银四”,如何准备一份独特的“简历”
  2. 矩阵对角化对有什么作用(1)
  3. 各大安卓应用/APP商店上架申请地址以及注意事项
  4. 申请美国签证超具体流程
  5. 为什么软件开发很难?真相了
  6. 百兆以太网FPGA实现,ARP+UDP功能,一个采集卡上的程序
  7. element-ui中el-upload上传音频文件获取音频时间长度
  8. Vision-based User Interface Programming in Java一书简介
  9. 后台友好的前端框架LayUI
  10. 1.发那科工业机器人初识