如何将多列Excel数据按唯一时间戳转换为Google Maps可上传CSV?
解决Excel数据转Google Maps可上传CSV的实用方法
一、Excel公式法(适合中小规模数据快速调整)
1. 合并分散的地址字段
如果原始数据的地址拆分为「城市」「州」「国家」等独立列,用公式合并成Google Maps可识别的完整地址:
=A2&", "&B2&", "&C2
(A2=城市列,B2=州列,C2=国家列,根据实际列号调整)
2. 拆分合并的坐标格式
若原始数据的坐标合并在单个单元格(如34.0522,-118.2437),拆分为独立的纬度、经度列:
- 提取纬度:
=LEFT(D2,FIND(",",D2)-1)
- 提取经度:
=RIGHT(D2,LEN(D2)-FIND(",",D2))
(D2为包含合并坐标的单元格)
3. 从地址批量生成经纬度
如果仅存城市/州信息,需生成对应经纬度,可使用WEBSERVICE+FILTERXML组合公式(需联网,需使用Google地理编码API,自行申请密钥并替换公式中的接口地址):
=IFERROR(FILTERXML(WEBSERVICE("替换为Google地理编码API官方接口地址"),"//result/geometry/location/lat"),"")
=IFERROR(FILTERXML(WEBSERVICE("替换为Google地理编码API官方接口地址"),"//result/geometry/location/lng"),"")
注意:Google地理编码API有免费调用额度限制,数据量较大时不建议用此方法。
二、Power Query法(适合大规模数据集处理)
Power Query能高效处理数万行级别的数据,步骤如下:
- 选中Excel中的数据区域,点击「数据」→「从表格/区域」,进入Power Query编辑器。
- 合并地址列:添加自定义列,输入公式(替换列名):
[城市] & ", " & [州] & ", " & [国家]
- 拆分坐标列:选中包含合并坐标的列,点击「转换」→「拆分列」→「按分隔符」,选择逗号,拆分为纬度、经度两列。
- 批量生成经纬度:
- 添加自定义列,输入以下公式(替换API接口地址、密钥和地址列名):
let address = [完整地址], encodedAddress = Uri.EscapeDataString(address), url = "替换为Google地理编码API官方接口地址" & encodedAddress & "&key=你的API密钥", response = Json.Document(Web.Contents(url)), results = response[results], location = if List.Count(results) > 0 then results{0}[geometry][location] else null, lat = if location <> null then location[lat] else null, lng = if location <> null then location[lng] else null in [纬度=lat, 经度=lng]- 点击该自定义列的展开按钮,提取纬度、经度数据。
- 处理完成后,点击「关闭并上载」,将数据导出为CSV格式(「文件」→「另存为」→ 选择CSV)。
三、格式规范要点
- 最终CSV的列名建议使用
地址、纬度、经度或英文Address、Latitude、Longitude,确保Google My Maps能正确识别。 - 若使用经纬度列,需确保数据为纯数字格式,无多余符号。
内容的提问来源于stack exchange,提问作者Nishil Shah
相关产品推荐
相关产品推荐

