【问题标题】:Newlines not preserved when copying / pasting from Apache Zeppelin从 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”功能看看会发生什么

标签: pandas vim newline apache-zeppelin


【解决方案1】:

试试这个

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

【讨论】:

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