这个问题搭载了我昨天发布的一个问题。实际上,我的代码可以正常工作。我从小处着手。我为 Python 代码之外的多个 JSON 文件切换了Python 代码中的 JSON 。我实际上让它工作得很好。然后发生了某种灾难,我的代码丢失了。
我花了几个小时试图重新创建它无济于事。我实际上正在使用 arcpy(ArcGIS 的 Python 模块),因为稍后我将使用它来执行一些空间分析,但我认为您不需要了解太多关于 arcpy 的知识来帮助我完成这部分(我不认为,但它可能会有所帮助)。
这是我最近尝试的一个版本,但它不起作用。我将我的实际路径切换为“路径名”。实际上,直到我尝试填充 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']] )
任何帮助是极大的赞赏!!