python如何实现excel数据添加到mongodb


Posted in Python onJuly 30, 2015

利用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])

以上就是本文的全部内容,希望对大家的学习有所帮助。

Python 相关文章推荐
用Python和MD5实现网站挂马检测程序
Mar 13 Python
Python中的super()方法使用简介
Aug 14 Python
python爬虫的工作原理
Mar 05 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
Python 读写文件的操作代码
Sep 20 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
python实现发送form-data数据的方法详解
Sep 27 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
Mar 08 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 Python
python学习之第三方包安装方法(两种方法)
Jul 30 #Python
Python实现的Excel文件读写类
Jul 30 #Python
Djang中静态文件配置方法
Jul 30 #Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 #Python
Python实现配置文件备份的方法
Jul 30 #Python
Python统计文件中去重后uuid个数的方法
Jul 30 #Python
Python利用正则表达式匹配并截取指定子串及去重的方法
Jul 30 #Python
You might like
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
对python 自定义协议的方法详解
2019/02/13 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
如何基于python操作json文件获取内容
2019/12/24 Python
python异常处理、自定义异常、断言原理与用法分析
2020/03/23 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
Python如何定义一个函数
2015/09/01 面试题
周年庆典主持词
2014/04/02 职场文书
转让协议书
2015/01/27 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python