Excel导入CSV时经纬度小数点丢失问题求助(适配Tableau Public)
解决Excel导入CSV时经纬度小数点丢失并转为Decimal类型的问题
可行解决方案
方案1:Power Query中强制按指定Locale解析数值
- 导入CSV后点击
Transform Data进入Power Query编辑器 - 选中经纬度列,右键选择
Change Type→Using Locale - 在弹窗中:
- 数据类型选择Decimal Number
- 区域(Locale)选择English (United States)(确保小数点识别为
.)
- 若上述操作无效,添加自定义列强制解析:
- 点击
Add Column→Custom Column - 输入公式(以纬度列为例):
=Value.FromText([纬度], "en-US") - 删除原列,将自定义列重命名为原列名,再将类型改为Decimal Number
- 点击
方案2:先以文本导入再转换数值
- 使用Text Import Wizard导入CSV时,在第3步的列数据格式设置中,将经纬度列设为Text,完成导入
- 在Excel工作表中选中这两列,点击
Data→Text to Columns - 选择分隔符(逗号),进入下一步后将列数据格式设为Number,确保小数分隔符为
.,完成转换
方案3:临时修改CSV导入的类型检测规则
- 导入CSV时,在预加载界面点击
Transform Data - 在Power Query编辑器中,点击
File→Options and settings→Query options - 进入
Data Load→Type detection,临时将Detect column types and headers for unstructured sources改为Never - 此时所有列会以文本格式加载,单独选中经纬度列,右键
Change Type→Decimal Number(选择English (US) locale),再将其他需要的列改回对应类型
内容的提问来源于stack exchange,提问作者kevin baselice
相关产品推荐
相关产品推荐

