csv - Spark read.csv 不会忽略引号内的分隔符
问题描述
我正在使用 Pyspark 2.4 将一个简单的 csv 文件读入数据帧,然后show()
对控制台执行操作。这是有问题的csv,以及我运行的代码:
CSV:
A|B|C
AAAA|BBBB|CCCC
A"||114|WWWW|CC|BBBBB|AAAF||"ZZZZ FFFF
"||114|WWWW|CC|BBBBB|AAAF||"ZZZZ FFFF
A"||114|WWWW|CC|BBBBB|AAAF||"ZZZZ FFFF | FFF | GGGG
代码:
>>> df_am_event =
spark.read.option('delimiter','|').option('quote','"').option('header','true').csv('testDS')
>>> df_am_event.show()
+--------------------+----+----+
| A| B| C|
+--------------------+----+----+
| AAAA|BBBB|CCCC|
| A"|null| 114|
|"||114|WWWW|CC|BB...|null|null|
| A"|null| 114|
+--------------------+----+----+
这里的问题是,对于第二条和第四条记录,我希望看到与第三条记录相同的行为。也就是说,引号之间的任何分隔符都应该被忽略。
但在实践中发生的情况是,如果我在引号前添加任何内容,则不再忽略分隔符。
在这种情况下我做错了什么?
谢谢你。
解决方案
推荐阅读
- c - C:类型定义的命名空间是什么?
- java - 解析 JSON 文件后,如何使用 json-simple 修改 JSON 文件中特定字段的值
- excel - 使用 vba 选择数据时图表不显示数据
- python - 一次在多个列上使用 pandas groupby().apply(list)
- typo3 - TYPO3 selectSingle,添加一个创建新元素的选项(addRecord)
- r - 如何在数据框中按行获取所有值组合
- php - 我必须如何实现我的代码才能获得正确的 json?
- java - 如何模拟 SFTP 连接的连接
- binary-search-tree - 一棵空二叉树中的5个数字
- python-3.x - Python 3 Windows 安装给出包错误 ModuleNotFoundError