导入数据到MongoDB中

import sys
import json
import pymongo
import datetime
from pymongo import MongoClient

client = MongoClient('mongodb://192.168.1.31:20000,192.168.1.34:20000')
db = client.RHY
collection = db.ST_RIVER_R

f = open("D:/bigdata/st_river_r.CSV")
line = f.readline()
print(line)
fieldNames = line.split(',')
# STCD,TM,Z,Q,XSA,XSAVV,XSMXV,FLWCHRCD,WPTN,MSQMT,MSAMT,MSVMT
line = f.readline()
count = 0
records = []
insertCount = 0
while line:
    #
    count = count + 1
    fieldValues = line.split(',')
    if len(fieldValues) == 12 or fieldValues[0].strip() != '':
        insertObj = {}
        STCD = fieldValues[0]
        insertObj['STCD'] = STCD
        TM = fieldValues[1]
        if TM.strip() != '':
            TM = datetime.datetime.strptime(TM, '%Y-%m-%d %H:%M:%S')
            insertObj['TM'] = TM
        Z = fieldValues[2]
        if Z.strip() != '':
            Z = float(Z)
            insertObj['Z'] = Z
        Q = fieldValues[3]
        if Q.strip() != '':
            Q = float(Q)
            insertObj['Q'] = Q
        # XSA
        XSA = fieldValues[4]
        if XSA.strip() != '':
            XSA = float(XSA)
            insertObj['XSA'] = XSA
        # XSAVV
        XSAVV = fieldValues[5]
        if XSAVV.strip() != '':
            XSAVV = float(XSAVV)
            insertObj['XSAVV'] = XSAVV
        #
        XSMXV = fieldValues[6]
        if XSMXV.strip() != '':
            XSMXV = float(XSMXV)
            insertObj['XSMXV'] = XSMXV
        #
        FLWCHRCD = fieldValues[7]
        if FLWCHRCD.strip() != '':
            insertObj['FLWCHRCD'] = FLWCHRCD
        #
        WPTN = fieldValues[8]
        if WPTN.strip() != '':
            insertObj['WPTN'] = WPTN
        #
        MSQMT = fieldValues[9]
        if MSQMT.strip() != '':
            insertObj['MSQMT'] = MSQMT
        #
        MSAMT = fieldValues[10]
        if MSAMT.strip() != '':
            insertObj['MSAMT'] = MSAMT
        #
        MSVMT = fieldValues[11]
        if MSVMT.strip() != '':
            insertObj['MSVMT'] = MSVMT
        #
        # collection.insert_one(insertObj)
        # collection.insert_many(new_posts)
        records.append(insertObj)
        if len(records) == 1000 :
            insertCount = insertCount + 1
            if count > 1451000: 
                collection.insert_many(records)
                print(str(count) + '  ' + str(insertCount))
            print(count)
            records = []
    else:
        print(line)
    #
    line = f.readline()

f.close()
client.close()

  

转载于:https://www.cnblogs.com/gispathfinder/p/9819887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值