You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将地理编码输出Tuple的Item1、Item2重命名为纬度、经度并导出CSV

解决CSV导出列名自定义问题

问题核心在于你使用的Tuple<string, string>默认属性名为Item1和Item2,导出工具会直接沿用这些名称。要改为latitude和longitude,只需替换Tuple为带命名属性的自定义类型即可,具体修改如下:

步骤1:定义自定义位置类

创建包含命名属性的类存储经纬度:

public class Location
{
    public string Latitude { get; set; }
    public string Longitude { get; set; }
}

步骤2:修改GeoCoding方法

将方法返回类型和实例创建逻辑替换为自定义类:

static List<Location> GeoCoding(string address)
{
    var json = new WebClient().DownloadString(baseUrlGC + address.Replace(" ", "+")
        + plusUrl); // 拼接地址与URL,下载请求资源
    var jsonResult = JsonConvert.DeserializeObject<GoogleGeoCodeResponse>(json);

    if (jsonResult.status == "ZERO_RESULTS")
        return new List<Location> { new Location { Latitude = "N/A", Longitude = "N/A" } };

    if (jsonResult.status != "OK")
        throw new Exception($"Request failed with {jsonResult.status}");

    return jsonResult.results
        .Select(result => result.geometry.location)
        .Select(loc => new Location { Latitude = loc.lat, Longitude = loc.lng })
        .ToList();
}

说明

  • 自定义类Location的Latitude和Longitude属性名会被CSV导出工具识别为列名,直接替代原有的Item1和Item2。
  • 若你使用的CSV导出工具支持显式指定列名(如CsvHelper等库),也可在导出阶段手动映射列名,但使用自定义类型是更直观通用的方案。

内容的提问来源于stack exchange,提问作者user20129051

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 14:01:05