当阅读PYSPARK中为空的输入时,返回None或空 Dataframe

dw1jzc5e  于 2023-01-08  发布在  Spark
关注(0)|答案(2)|浏览(137)

因此,我尝试在文件夹中读取,有时可能是空的
该文件夹名为ABC.csv,其中没有csv。

df = spark.read.parquet("/Users/test/Downloads/ABC.csv")

当阅读 Dataframe 时,如何返回None或空 Dataframe ,因为有时它可能有内容。

ygya80vv

ygya80vv1#

示例代码段。请根据输入文件进行修改。

import glob
    list_of_files = glob.glob("D:/data/in/dcad_data/*.csv")
    if list_of_files:
        # create dataFrame
        # df = spark.read.
        pass
    else:
        df = None
    print(df)
mbyulnm0

mbyulnm02#

可以像这样使用Python检查文件夹是否为空,

import os
  
# path of the directory
path = "/Users/test/Downloads/ABC.csv"
  
# Getting the list of directories
dir = os.listdir(path)
  
# Checking if the list is empty or not
if len(dir) == 0:
    df = spark.createDataFrame([], StructType([]))
else:
    df = spark.read.parquet("/Users/test/Downloads/ABC.csv")

或者如果你只想搜索 parquet 文件是否存在于文件夹中,那么就这样做,

import glob
import os.path

# path of the directory
path = "/Users/test/Downloads/ABC.csv"

parquet_files = glob.glob(os.path.join(path, '*.parquet'))

# Checking if the list is empty or not
if len(parquet_files) == 0:
    df = spark.createDataFrame([], StructType([]))
else:
    df = spark.read.parquet("/Users/test/Downloads/ABC.csv")

相关问题