如何在使用转义或引号在pyspark中的文件中写入数据帧时获得完全匹配? [复制]
Posted
技术标签:
【中文标题】如何在使用转义或引号在pyspark中的文件中写入数据帧时获得完全匹配? [复制]【英文标题】:How to get exact match while writing dataframe in file in pyspark using escape or quote? [duplicate] 【发布时间】:2020-07-13 03:53:17 【问题描述】:我正在尝试将数据框加载到文件中,但无法获得完全匹配。你能帮我解决这个问题吗?
example:
"From...............\"dawood\"...........\"oral use\"........"
but i am getting:
"From................\"dawood\"...........\\"oral use\\\"......"
i am using below code to write the dataframe:
df.repartition(1).write.format('com.databricks.spark.csv').mode('overwrite').save(output_path,quote='"', sep='|',header='True',nullValue=None)
您能帮我如何获得所有记录的完全匹配吗?
【问题讨论】:
你的问题很混乱,能否请你澄清一下你的意思,不要将所有这些都标记为代码,因为它不是 @mvr950,这个问题没有问(并且它的答案没有显示)如何传递参数,这是 OP 不知道该怎么做的部分;现有的链接副本更好。 顺便说一句,最好不要对可执行脚本使用文件扩展名。只需关闭扩展名,然后使用 shebang 选择正确的解释器。请参阅文章 Commandname Extensions Considered Harmful,或者如果您想要更权威的来源,请参阅 wooledge.org/~greybot/meta/.sh 上 irc.freenode.org #bash 支持频道的 factoid 数据库历史条目。 第一个 Python 文件 test.py import sys data = sys.argv[1] 打印数据然后 bash 文件 pss.sh #!/bin/bash python test.py "$@" 【参考方案1】:要么将其复制到您的 shell 脚本中:
python imed_consump.py 'Smart Source'
但是你的参数总是固定的。如果这不是我们所希望的,那么在 shell 内执行以下操作
python imed_consump.py "$1"
然后像这样执行你的shell:
bash imed_consump.sh 'Smart Source'
【讨论】:
需要"$1"
,而不是裸$1
。否则 $1
(或者,在 Python 中,sys.argv[1]
)将是 Smart
和 $2
/ sys.argv[2]
在内部脚本中将是 Source
,而不是将该参数作为一个单词保持在一起。跨度>
也就是说,请注意How to Answer 的“回答好问题”部分;已经“被多次询问和回答”的问题应该被关闭,而不是回答。
感谢@CharlesDuffy,是的,我是回答问题的新人。以上是关于如何在使用转义或引号在pyspark中的文件中写入数据帧时获得完全匹配? [复制]的主要内容,如果未能解决你的问题,请参考以下文章