本文实例讲述了Python实现将Excel转换为json的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#-*- 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
希望本文所述对大家Python程序设计有所帮助。