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

导出.geojson格式文件时日期列出现多余T字符的问题咨询

问题产生原因
  • GeoJSON规范默认要求日期时间类型字段遵循ISO 8601标准序列化,该标准规定日期与时间部分使用字符T作为分隔符,geopandas导出GeoJSON时底层调用的fiona库会自动将datetime类型字段转为该标准格式,因此会出现T字符。
  • 导出CSV时无该问题,是因为pandas默认的datetime序列化规则使用空格作为日期与时间的分隔符,和ISO 8601标准规则不同。
解决方案

你可以根据使用场景选择以下任意一种方法解决:

  1. 导出前将日期列转为自定义格式的字符串
    提前格式化日期列,再执行导出操作,示例代码如下:
# 替换date_col为你实际的日期列名,时间格式可按需调整
predicted_events['date_col'] = predicted_events['date_col'].dt.strftime('%Y-%m-%d %H:%M:%S')
# 正常执行导出即可
predicted_events.to_file("predicted_events.geojson", driver='GeoJSON')
  1. 读取GeoJSON时自动解析日期
    如果不需要修改导出文件的存储格式,只需要读取后打印/使用时无T字符,可以在读取时指定自动解析日期列,示例代码如下:
import geopandas as gpd
# 替换date_col为你实际的日期列名
gdf = gpd.read_file("predicted_events.geojson", parse_dates=['date_col'])

读取后日期列会自动转为datetime类型,终端打印时不会显示T字符。
3. 自定义导出schema约束字段类型
如果需要保留列的类型定义,可手动指定导出的fiona schema,将日期字段类型设为字符串,配合第一步的格式化操作使用,避免导出时被自动转成ISO 8601格式。

内容的提问来源于stack exchange,提问作者Camilo Estrada Guerra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:45:03