#-*- 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 语句的更多相关文章

  1. 【POI word】使用POI实现对Word的读取以及生成

    项目结构如下: 那第一部分:先是读取Word文档 package com.it.WordTest; import java.io.FileInputStream; import java.io.Fil ...

  2. 利用http协议使用普通的网站虚拟主机+安信可A6C GPRS模块实现对stm32的远程升级

    步骤: 1.生成bin文件并将bin文件放到虚拟主机目录内 2.做一个php的页面分块读取该bin文件,以asc字符echo出来,并标记好头尾长度和校验. 3.GPRS协议栈连接主机路径,收到内容,将 ...

  3. excel 里面拼接 MySQL insert 语句

    ="('"&A2&"',"&" '"&B2&"','"&C2&& ...

  4. python 利用三方的xlrd模块读取excel文件,处理合并单元格

      目的: python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式.  总体思路: (1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用. (2)实际操作时候和我 ...

  5. 通过脚本实现对web的健康检查

    前面的文章中(https://www.cnblogs.com/zyxnhr/p/10707932.html),通过nginx的第三方模块实现对web端的一个监控,现在通过一个脚本实现对第三方的监控 脚 ...

  6. python读写Excel文件--使用xlrd模块读取,xlwt模块写入

    一.安装xlrd模块和xlwt模块 1. 下载xlrd模块和xlwt模块 到python官网http://pypi.python.org/pypi/xlrd下载模块.下载的文件例如:xlrd-0.9. ...

  7. $ 用python处理Excel文档(1)——用xlrd模块读取xls/xlsx文档

    本文主要介绍xlrd模块读取Excel文档的基本用法,并以一个GDP数据的文档为例来进行操作. 1. 准备工作: 1. 安装xlrd:pip install xlrd 2. 准备数据集:从网上找到的1 ...

  8. 利用xlrd模块实现Python读取Excel文档

    # -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...

  9. Python xlrd模块读取Excel表中的数据

    1.xlrd库的安装 直接使用pip工具进行安装(当然也可以使用pycharmIDE进行安装,这里就不详述了) pip install xlrd 2.xlrd模块的一些常用命令 ①打开excel文件并 ...

随机推荐

  1. ADF_Desktop Integration系列4_ADF桌面集成入门之部署ADF Desktop Excel

    2013-05-01 Created By BaoXinjian

  2. python模块介绍- SocketServer 网络服务框架

    来源:https://my.oschina.net/u/1433482/blog/190612 摘要: SocketServer简化了网络服务器的编写.它有4个类:TCPServer,UDPServe ...

  3. eclipse 代码自动提示

    从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在& ...

  4. 如何删除控制文件中过去rman备份到磁带的备份集

    问题描述: 早上做数据库巡检,发现FRA(flash recovery area)空间使用率达到66%,是平时的两倍.由于库不大,备份策略是本地磁盘备份,每天一全备,REDUNDANCY 1 ,备份完 ...

  5. Sybase alter 用法

    原文地址:http://lujinan858.iteye.com/blog/437019 --示例 1 为表添加列.Adaptive Server 为表中每个现有行分配一个 NULL --列值: al ...

  6. [CF148E] Porcelain (分组背包)

    题目链接:http://codeforces.com/problemset/problem/148/E 题目大意:有n组数据,每次可以从任意一组的两端取出1个数,问你取m个数最大能组成多少? 思路:先 ...

  7. Chap6: question 46 - 48

    46. 求 1+2+ … +n. 要求:不用乘除法.for.while.if.else.switch.case 以及条件判断语句(A?B:C). a. 利用构造函数求解 #include <io ...

  8. django model 中class meta

    class Meta: ordering = ['-num', 'length'] verbose_name = 'name' verbose_name_plural = 'names' orderi ...

  9. POJ1061 青蛙的约会-拓展欧几里得

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  10. dp4

    T1.机器分配(machine) 题目大意:把N台机器分给M个公司,每个公司分到不同数量机器有不同利润,求分配的最大利润. N<=100,M<=100 解题思路:一眼题啊.设a[x][y] ...