利用pymongo包进行数据库的连接,使用xlrd包读取excel数据,由于二者数据结构的不同,要将excel格式数据转换为json格式数据。由于编码问题会出现“TypeError: 'str' object does not support item assignment”,要利用json.loads方法对数据进行解码
分享代码如下
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
|
#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])
|
以上就是本文的全部内容,希望对大家的学习有所帮助。