使用python将csv中的所有数据推送到mongodb

2024-05-01 02:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我将一个csv文件转换成json文件。我试图读取该文件,它只为头文件抛出对象id,并且没有为剩余数据生成id。。在

代码:

import csv
import json

csvfile = open('C://test//08October2014//DATA_INTV_NEW//Oct08//final-current.csv', 'r')
jsonfile = open('C://test//08October2014//DATA_INTV_NEW//Oct08//final-current.json', 'w')


reader = csv.DictReader( csvfile )
for row in reader:
    json.dump(row, jsonfile)
    jsonfile.write('\n')
    print row

输出:

^{pr2}$

我的主进程包含以下代码:

import pandas as pd
import sys, getopt, csv, pprint
from pymongo import MongoClient
mongo_client=MongoClient()
db=mongo_client.october_mug_talk
db.segment.drop()
data=pd.read_csv('C://test//08October2014//DATA_INTV_NEW//Oct08//final-current.json', error_bad_lines=0)

df = pd.DataFrame(data)
records = csv.DictReader(df)
for rown in records:
    db.segment.insert(rown)
    print rown

但是只为头文件生成输出。我不知道我在哪里执行错了,拜托纠正我。在

输出:

{'{"High Price": "0"': ' "S No": "2"', '_id': ObjectId('546b0ed5fb2a0301c430733b')}
{'{"High Price": "0"': ' "Buy Price": "217.85"', '_id': ObjectId('546b0ed5fb2a0301c430733c')}
{'{"High Price": "0"': ' "Instrument Name": "DABUR14NOVFUT"', '_id': ObjectId('546b0ed5fb2a0301c430733d')}
{'{"High Price": "0"': ' "Last Traded Price": "219.85"', '_id': ObjectId('546b0ed5fb2a0301c430733e')}
{'{"High Price": "0"': ' "Average Traded Price": "0"', '_id': ObjectId('546b0ed5fb2a0301c430733f')}
{'{"High Price": "0"': ' "Time": "9:25:00"', '_id': ObjectId('546b0ed5fb2a0301c4307340')}
{'{"High Price": "0"': ' "Sell Quantity": "4000"', '_id': ObjectId('546b0ed5fb2a0301c4307341')}
{'{"High Price": "0"': ' "Sell Price": "220.3"', '_id': ObjectId('546b0ed5fb2a0301c4307342')}
{'{"High Price": "0"': ' "Low Price": "0"', '_id': ObjectId('546b0ed5fb2a0301c4307343')}
{'{"High Price": "0"': ' "Close Price": "218.7"', '_id': ObjectId('546b0ed5fb2a0301c4307344')}
{'{"High Price": "0"': ' "V": "0"', '_id': ObjectId('546b0ed5fb2a0301c4307345')}
{'{"High Price": "0"': ' "Total Traded Quantity": "0"', '_id': ObjectId('546b0ed5fb2a0301c4307346')}
{'{"High Price": "0"': ' "Buy Quantity": "6000"', '_id': ObjectId('546b0ed5fb2a0301c4307347')}
{'{"High Price": "0"': ' "Open Price": "0"}', '_id': ObjectId('546b0ed5fb2a0301c4307348')}

Tags: 文件csvtestimportidjsonnewdata