【问题标题】:Python Tkinter save file as CSV creating extra spacesPython Tkinter 将文件保存为 CSV 创建额外的空格
【发布时间】:2018-11-22 05:38:40
【问题描述】:

通常当我在 Python 中打开一个 CSV 文件时,我需要使用:

with open(filename, newline='', mode='w') as f:

如果我没有那个 newline='' ,它会在我的 CSV 中的每一行之间创建一个空行。但是,我使用 Tkinter 来保存文件,所以我有:

new_filename = asksaveasfile(mode='w', defaultextension='.csv')

由于“new_filename”已经打开,我无法执行“open”命令来指示其中的 newline=''。如果我再次尝试打开它,我会收到错误消息。那么在这种情况下如何摆脱多余的空格呢?

感谢您的帮助和耐心。

【问题讨论】:

  • 奇怪的是你必须使用newline 参数。您确定您使用的任何查看器都不会误解,例如 \r\n 是两个换行符,还是您的数据中没有换行符?我从来没有过。

标签: python csv tkinter


【解决方案1】:

关于新的 line 参数你还有一些其他的问题 - 我在这里根本不需要使用它。但是对于您的 tkinter 问题,您可以改用 asksaveasfilename。这将返回选定的文件名,然后您可以以任何您想要的方式打开它。

【讨论】:

  • 换行参数似乎相当普遍,我遇到过很多其他关于它的 Stack Overflow 帖子。这里只是几个例子:stackoverflow.com/questions/3191528/…stackoverflow.com/questions/30929363/…我不确定我是否理解你所说的使用“asksaveasfile”的意思?正如我上面显示的代码中所提供的那样,我已经在使用它了。我会用它来代替什么?
  • asksaveasfilename@Emac
  • 谢谢,我错过了“名字”这个关键词......并且它修复了它!非常感谢。
猜你喜欢
  • 2022-10-17
  • 1970-01-01
  • 2023-02-12
  • 2014-06-08
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
相关资源
最近更新 更多