【问题标题】:Read spark csv dataframe as pandas将 spark csv 数据帧读取为 pandas
【发布时间】:2022-02-11 22:56:46
【问题描述】:

在 pyspark 上处理大数据后,我使用以下命令将其保存在 csv 中:

df.repartition(1).write.option("header", "true").option("delimeter", "\t").csv("csv_data", mode="overwrite")

现在,我想使用pd.read_csv() 再次加载它。

info = pd.read_csv('part0000.csv', sep='\t', header='infer')

info 作为 1 列返回,其中数据用逗号而不是 '\t' 分隔。

col1name,col2name,col3name
val1,val2,val3

我尝试指定 sep=',',但在某些行的列数超过 3 时出现解析错误。

如何在不跳过任何行的情况下解决这个问题?是否与 spark 有任何关系来解决它,例如指定 '|' 作为分隔符

【问题讨论】:

    标签: python pandas dataframe pyspark


    【解决方案1】:

    csv 格式写入方法没有delimeter 选项,猜猜你需要的是sep 选项。

    请参考here

    【讨论】:

      【解决方案2】:

      here 所述,pandas 将字符 " 用于 queting,并在每个 " 之后期望 " 在我的情况下并非总是如此。要解决这个问题,我们必须指定quoting=3 不使用引号。

      data = pd.read_csv('data.csv', header='infer', sep='\t', engine='python', quoting=3)
      

      【讨论】:

        猜你喜欢
        • 2018-02-14
        • 2017-12-15
        • 2020-02-04
        • 2016-09-27
        • 2020-07-24
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        • 2015-09-08
        相关资源
        最近更新 更多