将整个csv转换为json file-python

时间:2015-05-08 21:17:11

标签: python json csv geojson

以下代码在执行时不会给我任何错误。但是,当我将文件拖放到url:geojson.io时,我得到以下内容"无效的Json文件:语法错误意外令牌"。

#!/usr/bin/python

import csv
import json
import geojson

csvfile = open('May_6th.csv', 'rU')
jsonfile = open('file.json', 'w')

fieldnames = {'type': 'FeatureCollection',
        'features':[("Name","Bearing (True)","Bearing (Mag)",
"Distance","Total Distance","Planned Speed", 
"Leg Time", "Total Time", "Turn", "Latitude", "Longitude")]}

reader = csv.DictReader( csvfile, fieldnames)



for row in reader:
    json.dump(row, jsonfile)
    jsonfile.write('\n')
print 'csv file converted'

1 个答案:

答案 0 :(得分:1)

大多数约定,JSON文件表示单个javascript对象。您的文件是一系列对象,以换行符分隔。您创建的内容有时称为JSRec

更重要的是,没有迹象表明你正在制作有效的geojson。您导入库但不使用它。您应该查看https://github.com/frewsxcv/python-geojsonGeoJSON format specification上的文档,以确保您创建的文件符合GeoJSON格式。

我注意到GeoJSON规范具体说明了:

  

GeoJSON始终由单个对象组成。此对象(以下称为GeoJSON对象)表示要素的几何,要素或集合。