当前位置: 首页 > 知识库问答 >
问题:

spark-handle CSV文件中的空白值

孟福
2023-03-14

假设我有一个简单的管道分隔文件,缺少值:

A|B||D

我把它读到了一个数据目录中:

val foo =  spark.read.format("csv").option("delimiter","|").load("/path/to/my/file.txt")

缺少的第三列不是null值,而是字符串null:

+-----------+----+
|_c0|_c1| _c2|_c3|
+-----------+----+
|a  |b  |null|c  |

共有1个答案

廉志强
2023-03-14

nullvalueemptyvalue选项的作用与您的期望相反--它们允许您指定值,如果在源数据中遇到这些值,则应在结果数据表中(分别)转换为null。例如,如果您的输入改为

ABN/AD

你设置了

+-----------+----+
|_c0|_c1| _c2|_c3|
+-----------+----+
|a  |b  |null|c  |
 类似资料:
  • 问题内容: 我正在使用python 3.5和flask 0.10.1并喜欢它,但是send_file有点麻烦。我最终想处理一个pandas数据框(来自Form数据,在本示例中未使用,但将来需要使用),并将其发送为csv格式下载(没有临时文件)。我所看到的实现此目标的最佳方法是给我们StringIO。 这是我尝试使用的代码: 使用正确的名称下载文件,但是该文件完全空白。 有任何想法吗?编码有问题吗?

  • 问题内容: 在我当前的项目中,我们总是在Java源文件的末尾插入一个空的新行。我们还使用CheckStyle(具有错误级别)来强制执行此操作。 我一直在寻找这个主题很长时间,但是不幸的是,我找不到任何令人信服的理由。似乎其他开发人员对此无动于衷,因为他们只是选中了Eclipse formatter中的一个复选框,并且它是自动完成的。但是我仍然不知道为什么需要它,为什么它很重要。所以我的问题是: 为

  • 我正在试用Oracle文档中给出的示例。java文件如页面所示。现在有了这个java文件,我保留了一个文件位于同一目录中。 在读取值时,似乎没有忽略尾随的空白,并且忽略了前导空白。 所以如果我想让前导空间出现,我该怎么做? 换句话说,我需要做什么来读取as的值 而不是 ?

  • 问题内容: 我正在Windows PC上工作,并且有cygwin!我将我所有的jars组织在几个目录中的一个目录下!我正在编写一个脚本,以通过遍历作为参数传递的目录来设置,如下所示: 每当在目录中有空格传递并且我运行时,都会抛出错误,指出未找到该类,因为CLASSPATH变量在之后被拆分。 有人可以帮我解决这个问题吗? 问题答案: 看到这篇文章。 您可以将完整的类路径包含在双qoutes中 或类路

  • 我正在处理的数据集的列中有空格,我在尝试重命名spark dataframe列名时遇到了问题。尝试了StackOverflow中几乎所有可用的解决方案。好像什么都不管用。 注意:文件必须是拼花文件。 已尝试: 然后是df.printschema root 工作良好,但当我使用df.show()时,它会抛出相同的错误。 警告:停用警告1次;使用-deprecation重新运行详细信息 org.apa

  • 问题内容: 因此,我一直试图为我的一个朋友编写一个Bukkit插件,由于某种原因,配置生成无法正常工作。有问题的代码在下面,我很乐意添加人们需要帮助的所有代码。当我运行程序时,创建的配置文件最终空白。测试文件很好(我只是通过注释掉删除文件的行来测试它),但是一旦我尝试获取多行,它就会失败。有人可以帮忙吗? 整个过程包含在try / catch循环中,只是为了捕获可能弹出的任何错误。我感觉到我缺少一