Python实现将Excel转换为json的方法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现将Excel转换为json的方法。分享给大家供大家参考,具体如下:

#-*- encoding:utf-8 -*-
import sys
import locale
import os.path
import os
import time
import shutil
import datetime
import types
import sqlite3
import pypyodbc
import traceback
import json
import codecs
import xlrd
import xlwt
from xlutils.copy import copy
# 确定运行环境的encoding
__g_codeset = sys.getdefaultencoding()
if "ascii"==__g_codeset:
  __g_codeset = locale.getdefaultlocale()[1]
#
def object2double(obj):
  if(obj==None or obj==""):
    return 0
  else:
    return float(obj)
  #end if
#
def utf8_to_mbs(s):
  return s.decode("utf-8").encode(__g_codeset)
#
def mbs_to_utf8(s):
  return s.decode(__g_codeset).encode("utf-8")
#
def _tongjiFirstRow():
  #xlrd.Book.encoding = "gbk"
  data = xlrd.open_workbook("xy.xls",formatting_info=True)
  tblTDLYMJANQSXZB = data.sheets()[0]
  #找到有几列几列
  nrows = tblTDLYMJANQSXZB.nrows #行数
  ncols = tblTDLYMJANQSXZB.ncols #列数
  totalArray=[]
  arr=[]
  for i in range(0,ncols):
    arr.append(tblTDLYMJANQSXZB.cell(0,i).value);
  #end for
  for rowindex in range(1,nrows):
    dic={}
    for colindex in range(0,ncols):
     s=tblTDLYMJANQSXZB.cell(rowindex,colindex).value
     dic[arr[colindex]]=s
    #end for
    totalArray.append(dic);
  #end for
  a=json.dumps(totalArray,ensure_ascii=False)
  file=codecs.open("xy.txt","w",'utf-8')
  file.write(a)
  file.close()
#end
_tongjiFirstRow();
print("export OK")

Excel文件

json

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多Python相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python实现高斯投影正反算方式

使用Python实现了一下我们同事的C++高斯投影正反算,实际跑通,可用。 #!/ usr/bin/python # -*- coding:utf-8 -*- import mat...

python模块和包的应用BASE_PATH使用解析

这篇文章主要介绍了python模块和包的应用BASE_PATH使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中的...

Python 查看文件的编码格式方法

在读取中文的情况下,通常会遇到一些编码的问题,但是首先需要了解目前的编码方式是什么,然后再用decode或者encode去编码和解码,下面是使用chardet库来查看编码方式的。 i...

Python实现优先级队列结构的方法详解

最简单的实现 一个队列至少满足2个方法,put和get. 借助最小堆来实现. 这里按"值越大优先级越高"的顺序. #coding=utf-8 from heapq import h...

Python类属性的延迟计算

所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算。 优点 构造一个延迟计算属性的主要目的是为了提...