MongoDB学习笔记-数据导入Excel文件

原创 2016年08月28日 15:50:31

使用mongoexport工具

bin/mongoexport --host 192.168.10.10:27017 --username test --password test --db test --collection user --type=csv --fields "name,age,phone,email,address" --out data.csv


使用python的pymongo

pip install pymongo

# -*- coding:utf-8 -*-

import sys
import xlwt
import datetime
from pymongo import MongoClient

default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    print sys.getdefaultencoding()
    reload(sys)
    sys.setdefaultencoding(default_encoding)
    

if __name__=='__main__':  
    startTime = datetime.datetime.now()
    
    mongoClient = MongoClient("192.168.10.10", 27017)
    #连接库
    db = mongoClient.test 
    #用户认证
    db.authenticate("test","test")
    
    print db.user.count()
    
    workbook = xlwt.Workbook(encoding='utf-8')  
    
    #datas = db.user.find()
    datas = db.user.find()[0:100]

    EXCEL_ROWS = 65535
    EXCEL_COLS = 256
    nrows, total_rows, sheet_num = 0, 0, 0
    
    for data in datas:
        if (nrows % EXCEL_ROWS == 0):
            wsheet = workbook.add_sheet('sheet' + str(sheet_num), cell_overwrite_ok = True)
            nrows = 0
            sheet_num = sheet_num + 1
        keys = data.keys()
        cols_num = EXCEL_COLS if len(keys) > EXCEL_COLS else len(keys)
        for ncol in xrange(cols_num):
            value = data[keys[ncol]]
            wsheet.write(nrows, ncol, value)
        nrows = nrows + 1
        total_rows = total_rows + 1
    
    workbook.save("F:\\a.xls")
    endTime = datetime.datetime.now()
    print "import xls success ! spend time %s seconds" %((endTime - startTime).seconds)
     

# -*- coding:utf-8 -*-

import sys
import datetime
import xlsxwriter
from pymongo import MongoClient

default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    print sys.getdefaultencoding()
    reload(sys)
    sys.setdefaultencoding(default_encoding)
    

if __name__=='__main__':  
    startTime = datetime.datetime.now()
    
    mongoClient = MongoClient("192.168.10.10", 27017)
    #连接库
    db = mongoClient.test 
    #用户认证
    db.authenticate("test","test")
    
    print db.user.count()
    
    #datas = db.user.find()
    datas = db.user.find()[0:100]

    workbook = xlsxwriter.Workbook("F:\\b.xlsx")
    
    BUFSIZE = 1024
    EXCEL_ROWS = 1040000
    EXCEL_COLS = 16384
    nrows, total_rows, sheet_num = 0, 0, 0
    
    for data in datas:
        if (nrows % EXCEL_ROWS == 0):
            worksheet = workbook.add_worksheet(name = 'sheet' + str(sheet_num))
            nrows = 0
            sheet_num = sheet_num + 1
        keys = data.keys()
        cols_num = EXCEL_COLS if len(keys) > EXCEL_COLS else len(keys)
        for ncol in xrange(cols_num):
            value = data[keys[ncol]]
            worksheet.write(nrows, ncol, value)
        nrows = nrows + 1
        total_rows = total_rows + 1
    
    workbook.close()
    endTime = datetime.datetime.now()
    print "import xlsx success ! spend time %s seconds" %((endTime - startTime).seconds)
        





版权声明:本文为博主原创文章,未经博主允许不得转载。

从Excel导出数据到MongoDB的实践

使用Apache POI,在Java环境下,从Excel导出数据到MongoDB的实践。其中,数据表列的定义不固定。...
  • xiaoyw
  • xiaoyw
  • 2016年05月13日 13:14
  • 2804

MongoDB学习笔记-数据导入Excel文件

使用mongoexport工具 bin/mongoexport --host 192.168.10.10:27017 --username test --password test --db tes...
  • wulinshishen
  • wulinshishen
  • 2016年08月28日 15:50
  • 2815

java连接MongoDB查询导出为excel表格

背景 由于项目需求,每个星期需要统计每个公众号7天的访问数,月底就需要统计一个月的访问数,40多个公众号,每次手动统计都需要花费1个小时,总之是一项无技术耗时耗神的手工活。于是,想写个程序来统计,...
  • musuny
  • musuny
  • 2015年06月03日 21:37
  • 2334

C#开发学习笔记:C#利用代码导入Excel数据

C#开发学习笔记:C#利用代码导入Excel数据
  • JustWantToFly
  • JustWantToFly
  • 2017年03月29日 13:24
  • 675

MongoDB 学习笔记(五):固定集合、GridFS文件系统与服务器端脚本

一、count、distinct与group 1、count函数:查询文档数,如下图: 2、distinct:去重,用法:db.runCommand({distinct:"集合名", key:...
  • cdu09
  • cdu09
  • 2013年10月13日 15:59
  • 1176

MongoDB学习笔记(四)使用Java进行实时监控与数据收集(空间使用量、连接数)

目录: MongoDB学习笔记(一)环境搭建与常用操作 MongoDB学习笔记(二)使用Java操作MongoDB MongoDB学习笔记(三)使用Spring Data操作Mongo...
  • Lnho2015
  • Lnho2015
  • 2016年03月08日 16:22
  • 2227

MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

一、关于MongoDB的驱动   MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动。仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用。比较常用的是官方驱...
  • cengjingcanghai123
  • cengjingcanghai123
  • 2015年01月02日 22:41
  • 415

MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

转载自:http://www.cnblogs.com/lipan/archive/2011/03/08/1977691.html   传统的关系数据库一般由数据库(database)、表(tabl...
  • IT_ORACLE
  • IT_ORACLE
  • 2011年11月24日 14:43
  • 321

MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(documen...
  • zhanglong_longlong
  • zhanglong_longlong
  • 2015年07月27日 10:25
  • 162

mongodb 学习笔记 07 -- 数据备份、恢复

- mongoexport 导出json或者csv格式 - mongoimport 导入json或者csv - mongodump 导出二进制bson结构数据以及索引信息 - mongorestore...
  • billvsme
  • billvsme
  • 2015年07月01日 00:37
  • 1430
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB学习笔记-数据导入Excel文件
举报原因:
原因补充:

(最多只允许输入30个字)