从 Apache Zeppelin 复制/粘贴时不保留换行符

Posted

技术标签:

【中文标题】从 Apache Zeppelin 复制/粘贴时不保留换行符【英文标题】:Newlines not preserved when copying / pasting from Apache Zeppelin 【发布时间】:2021-04-28 01:48:46 【问题描述】:

我正在使用 pandas to_csv() 函数在 Zeppelin(MacOS 10.14.6、Google Chrome、pyspark、Python 3.6.8)中打印 CSV,当我将结果复制并粘贴到另一个应用程序(例如 Excel、Google Sheets,Apple Notes),它们都出现在一行中。我尝试使用to_csv(line_terminator='\r\n')(例如)更新换行符,但我在那里尝试过的也没有任何效果。

但是,当我将结果复制并粘贴到 VIM 时,换行符 被保留。为了弄清楚那里有什么换行符,我用-b 运行VIM 并使用:set list——我看到的只是每行末尾的$s。

我做错了什么?

【问题讨论】:

请分享你到目前为止所做的事情。 我使用line_terminator='\r\n' 更新了换行符,还尝试了'\n'。我还尝试通过在 VIM 中公开这些字符来确定实际使用了哪些换行符,但输出并没有给我带来任何进一步的见解。我现在对如何继续感到困惑。 你是什么操作系统,python的版本是什么。 MacOS 10.14.6,Python 3.6.8。我已经更新了问题,感谢您的提问。 你可以试试“to_excel”功能看看会发生什么 【参考方案1】:

试试这个

with open(file_path, mode='w', newline='\r\n') as f:
    data_frame.to_csv(f, index=False)

【讨论】:

虽然此代码可能会为问题提供解决方案,但最好添加有关其工作原理/方式的上下文。这可以帮助未来的用户学习并将这些知识应用到他们自己的代码中。在解释代码时,您也可能会以赞成票的形式从用户那里获得积极的反馈。 您好 Chandan,感谢您的回答。虽然写入文件可能会部分解决问题,但我的问题实际上是在问为什么 Zeppelin 的输出不能在保留换行符的同时复制和粘贴。目标是快速将 Zeppelin 的输出复制并粘贴到另一个应用程序,并且必须为每一种输出类型编写一个新文件,这是我目标的“快速”部分。谢谢!

以上是关于从 Apache Zeppelin 复制/粘贴时不保留换行符的主要内容,如果未能解决你的问题,请参考以下文章

从 Apache Zeppelin 对 AWS Athena 运行时,SQL 查询将永远运行

Apache zeppelin绑定模式

Apache zeppelin 无法从 Amazon S3 笔记本 json 文件中获取 URL

在 Apache Zeppelin 上运行独立的 python 脚本

cmd,如何让xcopy命令在复制时不提示覆盖?

Apache Zeppelin 如何可视化来自 Hbase 的数据?