我有一个数据框有两列(C,D)被定义为字符串列类型,但列中的数据实际上是日期.例如,列C的日期为"01-APR-2015",列D的日期为"20150401"我想更改这些日期列类型,但我没有找到一个好方法.我看一下我需要在Spark SQL的DataFrame中将字符串列类型转换为Date列类型的堆栈溢出.日期格式可以是"01-APR-2015",我查看这篇文章,但它没有与日期相关的信息
假设有一个日期框架,其中一列包含日期作为字符串.对于该假设,我们创建以下dataFrame作为示例:
# Importing sql types
from pyspark.sql.types import StringType, IntegerType, StructType, StructField, DoubleType, FloatType, DateType
from pyspark.sql.functions import date_format
import random
import time
def strTimeProp(start, end, format, prop):
stime = time.mktime(time.strptime(start, format)) # Parse a string representing a time according to a format
etime = time.mktime(time.strptime(end, format))
ptime = stime + prop * (etime - stime)
return time.strftime(format, time.localtime(ptime))
def randomDate(start, end, prop):
return strTimeProp(start, end, '%m-%d-%Y', prop)
# Creación de un dataframe de prueba:
schema = StructType(
[
StructField("dates1", …Run Code Online (Sandbox Code Playgroud)