利用pymongo包进行数据库的连接,使用xlrd包读取excel数据,由于二者数据结构的不同,要将excel格式数据转换为json格式数据。由于编码问题会出现“TypeError: ‘str’ object does not support item assignment”,要利用json.loads方法对数据进行解码
import xlrd
import json
import pymongo
# 连接数据库
client = pymongo.MongoClient('localhost', 27017)
mydb= client['mydb']
info = mydb['info']
#读取Excel文件
data = xlrd.open_workbook('info.xlsx')
table = data.sheets()[0]
# 读取excel第一行数据作为存入mongodb的字段名
rowstag = table.row_values(0)
nrows = table.nrows
returnData = {}
for i in range(1, nrows):
# 将字段名和excel数据存储为字典形式,并转换为json格式
returnData[i] = json.dumps(dict(zip(rowstag, table.row_values(i))))
# 通过编解码还原数据
returnData[i] = json.loads(returnData[i])
# print returnData[i]
people_info.insert(returnData[i])