python - 如何在 PySpark 中转换“/Date(epoch time)/”字符串
问题描述
我有一个 json 文件,其中 json 中的所有日期都在/Date(1602949450000)/
json也是嵌套的。是否有一种通用的方法可以将所有内容解析/Date()/
为时间戳?
我试过regexp_replace
了,但我无法将捕获组转换为时间戳。
regexp_replace("value", "\\/Date\\((\\-?\\d*?)([\\+\\-]\\d*)?\\)\\/","$1")
解决方案
您的正则表达式是正确的,但问题似乎是"$1"
. 当我用 a 运行代码时,1
它对我有用:
dates_df = dates_df.withColumn(
'date_extracted',
F.regexp_extract("date", "\\/Date\\((\\-?\\d*?)([\\+\\-]\\d*)?\\)\\/", 1)
)
做同样事情的更简单的正则表达式是:
dates_df = dates_df.withColumn(
'date_extracted',
F.regexp_extract("date", "^.+(\d{13}).+$", 1)
)
推荐阅读
- python - 为什么返回不起作用并在输出中给出错误的值
- python - 在 PyQt5 QListWidget 中排列项目?
- java - 基于标头值的 JAX-RS 调用端点
- python - 错误:错误的 DVC 文件名“Training_Batch_Files\Wafer12_20012.csv.dvc”被 git 忽略
- flutter - 我可以查看是否安装了另一个 dart/flutter 包吗?
- python - 计算欧拉数
- reactjs - 为什么我无法从服务器上的阵列中获取正确信息
- ios - 带有 UISegmentControl 的 UITextField 会导致额外的键盘通知吗?
- mysql - 使用 MySQL Workbench 时 MySQL 出现错误 #1064
- google-tag-manager - dataLayer.push 不会触发请求