gpt4 book ai didi

python - 如何更改行尾约定?

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:30 25 4
gpt4 key购买 nike

我有一个我认为很简单的任务。我需要创建一个在行尾使用 unix LF 约定的文本文件。但是,当我尝试使用 pandas .to_csv 完成此操作时,我最终得到了 CR LF。如果我留在我的机器上并且我对所有内容都使用 python,这将不是问题。但我不是。该代码将成为同事将使用的应用程序的一部分,并且该文件将发送给第三方以实现自动化。代码如下:

df.to_csv("filename.txt", sep = '\t',line_terminator = '\n')

这位于我的代码中间,但当文件保存在目标文件夹中时,它总是切换回 CR LF。我认为这可能与 Windows 是“helpful”有关。我试过使用 this没有运气的解决方案类型。我也没有找到 dos2unix 的运气。 Python 的类型包。无论如何,我是否可以编写以 '\n' 结尾的行并将其保留在 Windows 中(如果可能,使用 to_csv)?

我正在使用 Python 2.7 和 Windows 7。

编辑:我知道 notepad++,但我正在尝试用 Python 编写这一切,所以我的同事只需单击一个按钮(我将使用 Tkinter 并在完成后将其卡住为 .exe)。 .txt 可以是 Windows 格式的,但我将(正在)将相同的信息写入 .MAT 和 .ref 文件。在这些文件中,它需要行尾“\n”,但 Windows 仍然给我“\r\n”。

最佳答案

请注意,此答案特定于 Python 2 的 CSV 处理。

to_csv 默认以 'w' 模式打开文件,默认为文本模式。在 Windows 上,文本模式将 \n 转换为 \r\n。改为以二进制模式打开文件,如果框架中有非 ASCII 文本,请指定编码。

df.to_csv('filename.txt',sep='\t',mode='wb',encoding='utf8')

关于python - 如何更改行尾约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41369772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com