Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySpark时间戳格式_Python_Pyspark - Fatal编程技术网

Python PySpark时间戳格式

Python PySpark时间戳格式,python,pyspark,Python,Pyspark,我有一个带有日期字段的csv文件。下面是该字段中的一个示例值:-2020-05-25 17:00:27 我正在使用以下代码由于某些原因,日期字段仍然显示为字符串。 df = (spark.read .format("csv") .option("header","true") .option("inferSchema","true

我有一个带有日期字段的csv文件。下面是该字段中的一个示例值:-
2020-05-25 17:00:27

我正在使用以下代码由于某些原因,日期字段仍然显示为字符串。

df = (spark.read
             .format("csv")
             .option("header","true")
             .option("inferSchema","true")
             .option("timestampFormat","yyyy-MM-dd HH:mm:ss")
             .load(file)
)

不知道为什么你会得到一个字符串。但您可以在读取
df
后将日期字段转换为时间戳:

df = df.withColumn('date_field', col('date_field').cast("timestamp"))

您必须提供模式和文件路径

from pyspark.sql.types import TimestampType, StructType, StructField, StringType

schema = StructType([
StructField('col1', StringType(), True),
StructField('date_col', TimestampType(), True),
StructField('col3', StringType(), True)
])

df = (spark.read
             .format("csv")
             .option("header","true")
             .option("inferSchema","true")
             .load(file, schema=schema)
)