使用 xlrd 模块实现对excel 的读取、excel转json 、excel 转 mysql insert 语句
- #-*- coding:utf-8 -*-
- # 处理 excel 中的 area 为 Mysql insert 语句
- import xlrd, json, codecs, os
- # data = xlrd.open_workbook('101.xls')
- data = xlrd.open_workbook('C:\Users\Administrator\Desktop\changanyiyuan.xlsx')
- # table = data.sheets()[0]
- table = data.sheet_by_index(0)
- # try
- hospitalJson = codecs.open('C:\Users\Administrator\Desktop\changanyiyuan.json','a+','utf-8')
- hospitalJson.truncate(0)
- hospitalJson.write('[') # 先写入数组头
- hospitalJsonInsert = codecs.open('C:\Users\Administrator\Desktop\hospitalJsonInsert.json','a+','utf-8')
- hospitalJsonInsert.truncate(0)
- hospitalJsonInsert.write('insert into department(hospital_id, pid, name, rank, create_time, modify_time) values')
- # 取出表格的第一行作为 json 的 key (javascript object notation)
- attribute = table.row_values(0)
- # 除第一行以外的数据放入一个 dict
- jsonAll = []
- contents = {}
- for index_r in range(1,table.nrows):
- for index_c in range(table.ncols):
- contents[attribute[index_c]] = table.cell(index_r, index_c).value # cell 单元格的一个属性并非方法
- # print contents
- hospitalJson.write("%s,\n" %json.dumps(contents,ensure_ascii=False,sort_keys=True, indent=4))
- hospitalJsonInsert.write('(2265, -1, \'%s\' ,%d, now(), now()),'%(table.cell(index_r, 3).value, table.cell(index_r, 5).value))
- # jsonAll.append(json.dumps(contents,ensure_ascii=False,sort_keys=True, indent=4))
- # print hospitalJson.tell()
- # hospitalJson.seek(0)
- # print hospitalJson.tell()
- hospitalJson.seek(-2, os.SEEK_END)
- hospitalJson.truncate()
- hospitalJson.write(']') # 数组结束
- # hospitalJson.write(json.dumps(contents,ensure_ascii=False,sort_keys=True, indent=4)) # 少了 ensure_ascii=False 参数就不能写中文进文件?
- hospitalJsonInsert.seek(-1, os.SEEK_END)
- hospitalJsonInsert.truncate()
- hospitalJsonInsert.write(';')
- # hospitalJson.write("%s" % jsonAll)
- hospitalJson.close()
- hospitalJsonInsert.close()
- # (`id`, `hospital_id`, `pid`, `name`, `rank`, `create_time`, `modify_time`)
- # 写成 mysql 语句
- # hospitalJsonInsert.write('( 2265, -1, \'%s\' ,%s, now(), now())'%(table.cell(index_r, 3), table.cell(index_r, 5)))
使用 xlrd 模块实现对excel 的读取、excel转json 、excel 转 mysql insert 语句的更多相关文章
- 【POI word】使用POI实现对Word的读取以及生成
项目结构如下: 那第一部分:先是读取Word文档 package com.it.WordTest; import java.io.FileInputStream; import java.io.Fil ...
- 利用http协议使用普通的网站虚拟主机+安信可A6C GPRS模块实现对stm32的远程升级
步骤: 1.生成bin文件并将bin文件放到虚拟主机目录内 2.做一个php的页面分块读取该bin文件,以asc字符echo出来,并标记好头尾长度和校验. 3.GPRS协议栈连接主机路径,收到内容,将 ...
- excel 里面拼接 MySQL insert 语句
="('"&A2&"',"&" '"&B2&"','"&C2&& ...
- python 利用三方的xlrd模块读取excel文件,处理合并单元格
目的: python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式. 总体思路: (1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用. (2)实际操作时候和我 ...
- 通过脚本实现对web的健康检查
前面的文章中(https://www.cnblogs.com/zyxnhr/p/10707932.html),通过nginx的第三方模块实现对web端的一个监控,现在通过一个脚本实现对第三方的监控 脚 ...
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
一.安装xlrd模块和xlwt模块 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd-0.9. ...
- $ 用python处理Excel文档(1)——用xlrd模块读取xls/xlsx文档
本文主要介绍xlrd模块读取Excel文档的基本用法,并以一个GDP数据的文档为例来进行操作. 1. 准备工作: 1. 安装xlrd:pip install xlrd 2. 准备数据集:从网上找到的1 ...
- 利用xlrd模块实现Python读取Excel文档
# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...
- Python xlrd模块读取Excel表中的数据
1.xlrd库的安装 直接使用pip工具进行安装(当然也可以使用pycharmIDE进行安装,这里就不详述了) pip install xlrd 2.xlrd模块的一些常用命令 ①打开excel文件并 ...
随机推荐
- Linux系统性能和使用活动监控工具 sysstat
Sysstat是一个非常方便的工具,它带有众多的系统资源监控工具,用于监控系统的性能和使用情况.我们在日常使用的工具中有相当一部分是来自sysstat工具包的.同时,它还提供了一种使用cron表达式来 ...
- C# using 三种使用方式
http://www.cnblogs.com/fashui/archive/2011/09/29/2195061.html 1.using指令. using 命名空间名字.例如: using Syst ...
- Linux 服务器的网络配置 - 1. 查看 Linux 服务器的网络连接
1. 查看 Linux 服务器的网络连接 1)查看主机名: liuqian@ubuntu:~$ hostname ubuntu 2)查看 ip 地址: 用 ifconfig 即可,这里介绍命令组合用法 ...
- windows Server 2008 IE增强的安全配置关闭方法
解决方法 开始->管理工具->服务器管理器
- PreparedStatement解决sql注入问题
总结 PreparedStatement解决sql注入问题 :sql中使用?做占位符 2.得到PreparedStatement对象 PreparedStatement pst=conn.prepar ...
- windows下PHP5.5.6+Apache2.4.7配置
本文主要阐述在windows8及win8.1 环境下搭建PHP5.5.6+Apache2.4.7. 1.软件准备 apache 2.4.7:http://pan.baidu.com/s/1iUPif ...
- 关于thinkphp 中的字段自动检查机制
在thinkphp中有很好用的自动检查机制$_validate() 但是必须与create接收配合使用 可以很方便的帮助我们去判断 namespace Home\Model;use Think\Mod ...
- 使用View为Data Source的Form开发要点
(Data Source为View) 要点一:创建View的SQL语法 View的SQL里必须指定Form里唯一一个对其新增.修改.删除的基本表及其主键,其它表为辅助信息表,其字段仅用来在Form里显 ...
- CSS+HTML网页设计与布局(学习笔记1)
1.在宽度未知时,使div块居中,可以添加以下属性: display:table;margin:0 auto;
- LESS 学习记录(简单入门)
什么是 LESS LESS是一种动态样式语言,属于 CSS 预处理语言的一种.它使用类似 CSS 的语法,但是 赋予了动态语言的特性,比如变量.继承.运算.函数等,方便 CSS 的编写和维护. 使用 ...