这个问题与我昨天发布的一个问题背道而驰。实际上我的代码可以正常工作。我是从小开始的。我将Python代码中的JSON切换到Python代码的多个JSON文件外部。我真的把它弄得很漂亮。然后发生了某种灾难,我的代码丢失了。在
我花了几个小时试图重建它,但没有成功。实际上,我使用的是arcpy(ArcGIS的Python模块),因为稍后我将使用它来执行一些空间分析,但是我认为您不需要了解太多arcpy来帮助我完成这一部分(我不认为,但它可能会有所帮助)。在
这是我最近一次尝试的一个版本,但它不起作用。我把我的实际路径改成了“Pathname”,实际上所有的东西都在工作,直到我试图填充CSV中的行(它们是经纬度值)。成功地在CSV文件中写入纬度/经度标题。所以很明显,下面的dict_writer.writerows(openJSONfile)都不起作用:import json, csv, arcpy
from arcpy import env
arcpy.env.workspace = r"C:\GIS\1GIS_DATA\Pathname"
workspaces = arcpy.ListWorkspaces("*", "Folder")
for workspace in workspaces:
arcpy.env.workspace = workspace
JSONfiles = arcpy.ListFiles("*.json")
for JSONfile in JSONfiles:
descJSONfile = arcpy.Describe(JSONfile)
JSONfileName = descJSONfile.baseName
openJSONfile = open(JSONfile, "wb+")
print "JSON file is open"
fieldnames = ['longitude', 'latitude']
with open(JSONfileName+"test.csv", "wb+") as f:
dict_writer = csv.DictWriter(f, fieldnames=fieldnames)
dict_writer.writerow(dict(zip(fieldnames, fieldnames)))
dict_writer.writerows(openJSONfile)
#Do I have to open the CSV files? Aren't they already open?
#openCSVfile = open(CSVfile, "r+")
for row in openJSONfile:
f.writerow( [row['longitude'], row['latitude']] )
非常感谢任何帮助!!在