在做文本处理时,有一些数据存储到了excel中,为了将数据导入mongodb,引入了pymongo,xlrd包
利用pymongo包进行数据库的连接
使用xlrd包读取excel数据,由于二者数据结构的不同,要将excel格式数据转换为json格式数据
由于编码问题会出现“TypeError: 'str' object does not support item assignment”
要利用json.loads方法对数据进行解码
#coding=utf-8
import xlrd
import sys
import json
import pymongo
from pymongo import MongoClient
#连接数据库
client=MongoClient('localhost',27017)
db=client.scrapy
account=db.weibo
data=xlrd.open_workbook('test.xlsx')
table=data.sheets()[0]
#读取excel第一行数据作为存入mongodb的字段名
rowstag=table.row_values(0)
nrows=table.nrows
#ncols=table.ncols
#print rows
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]
account.insert(returnData[i])