【问题标题】:How to write geocode results to csv如何将地理编码结果写入 csv
【发布时间】:2018-10-02 21:33:03
【问题描述】:

我正在尝试使用地理编码模块,但不知道如何将结果写入文件。以下是我目前所拥有的。

如何将该地理编码过程的输出写入 output.csv?

import os

os.environ["GOOGLE_API_KEY"] = "api_key_from_google_cloud_platform"


import csv
import sys
import geocoder

output = '/Users/Username/Documents/Folder/output.csv'

def main(args):
    with open(args, newline='') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            data = [row['AddressLine1'], row['City'], row['State'], row['PostalCode'], row['CountryName']]
            separator = ', '
            joined_address = separator.join(data)
            print(joined_address)

            # Open the output file
            with open(output, 'w') as out:
                writer = csv.writer(out, lineterminator='\n')


            # Geocode them
            g = geocoder.google(joined_address)
            g.housenumber
            g.postal
            g.street
            g.street_long

            # Some kind of writer to my output file goes here?


if __name__ == '__main__':
    main(sys.argv[1])

【问题讨论】:

  • 您已经拥有 CSV 写入器。你为什么不使用它?你读过docs.python.org/3/library/csv.html吗?
  • 请注意,您为每个输入行创建一个新编写器。编写代码可能应该在for row in reader 循环之外。
  • 好点——谢谢

标签: python geocode


【解决方案1】:

应该这样做(假设您希望第一行是标签)。

writer.writerow(["house_number", "postal", "street", "street_long"])
writer.writerow([g.housenumber, g.postal, g.street, g.street_long])

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2015-02-18
    相关资源
    最近更新 更多