Excel for Mac 2016-另存为CSV-错误的行尾

Excel for Mac 2016-另存为CSV-错误的行尾,excel,macos,csv,line-endings,Excel,Macos,Csv,Line Endings,我有一些CSV导入代码无法导入Excel for Mac 2016导出的文件 CSV导入代码可以完美地处理{CR}、{LF}或{CR}{LF}行结尾,但Excel for Mac正在导出具有完全断线结尾的文件 例如,如果我从这样的工作表开始: Foo|Bar ---+--- 123|456 Foo|Bar ---+--- | ---+--- 123|456 当导出到CSV时,我希望它是这样的: Foo,Bar{CR}123,456 (我不在乎使用哪一行结尾-它可以是{CR}、{

我有一些CSV导入代码无法导入Excel for Mac 2016导出的文件

CSV导入代码可以完美地处理{CR}、{LF}或{CR}{LF}行结尾,但Excel for Mac正在导出具有完全断线结尾的文件

例如,如果我从这样的工作表开始:

Foo|Bar
---+---
123|456
Foo|Bar
---+---
   |   
---+---
123|456
当导出到CSV时,我希望它是这样的:

Foo,Bar{CR}123,456
(我不在乎使用哪一行结尾-它可以是{CR}、{LF}或{CR}{LF},我的CSV导入代码将正确处理它)

然而,以下是Excel for Mac 2016实际导出它的方式:

Foo,Bar{CR}{CR}{LF}123,456
如果我尝试将其保存为“Windows CSV”,那么它实际上会添加一个额外的列,但根本不会修复行尾:

Foo,Bar,{CR}{CR}{LF}123,456,
在导出到CSV时,是否有一组特定的选项我应该使用

编辑:我应该补充一点,如果我从Excel for Mac 2016导出到CSV,然后立即在Excel for Windows 2016中打开该文件,则会在每行数据之间额外导入一行,如下所示:

Foo|Bar
---+---
123|456
Foo|Bar
---+---
   |   
---+---
123|456

因此,这不仅仅是我的CSV导入代码的问题-即使是Excel for Windows也无法正确读取Excel for Mac CSV文件。

好的-我相信我可能已经找到了答案

我之前没有提到它,因为我从来没有想到它可能会导致这个问题,但在导出每个CSV文件后,我将它通过电子邮件发送到Windows PC进行测试

显然,Mac Mail会破坏附加CSV文件中的行尾

资料来源:


当这些文件被直接上传并用我的CSV导入代码处理时,我仍然看到一些问题,所以我必须看看Safari是否也在破坏CSV文件。

我想添加一些关于我在Mac OS X 10.12.6上看到的使用Excel 16.9 for Mac的细节

  • 当我在Mac上从
    R
    导出CSV时,所有行都以{LF}结尾

  • 当我在MS Excel中打开导出的CSV,只需单击Ctrl+S重新保存文件时,生成的行尾将更改为{CR}{LF}。所以Excel将{CR}添加到行尾。因为{CR}{LF}是标准的Windows行结束符,所以读起来还是OK

  • 当我使用Mac Mail将从
    R
    导出的CSV文件作为附件发送电子邮件时,收到的附件中的所有行都以{CR}{LF}结尾。因此,Mac Mail在行尾添加了{CR}。与Excel添加{CR}字符的方式类似,这仍然是OK;由于行尾的原因,程序会认为它来自Windows

  • 当我使用Mac Mail通过电子邮件发送我从Excel保存为附件的CSV文件时,收到的附件中的所有行都以{CR}{CR}{LF}结尾。在Windows上查看时,这会向CSV添加额外的回车符。在记事本中查看时,多余的行将被抑制,但在Excel中查看时,由于添加了{CR},在每个原始行之间插入了多余的空行


这是一种奇怪的行为,有可能破坏下游软件,这些软件使用从Mac上的Excel导出的CSV文件,然后通过电子邮件发送给用户。除了避免使用Mac Mail发送CSV附件之外,我目前不知道有什么解决方法。

将数据复制到文本编辑器,例如Mac上的文本编辑,而不是Excel导出功能。
(新窗口,格式->生成纯文本)
然后将数据列分隔符(相邻列值之间的间距)从文本编辑窗口复制到“查找”对话框, 并在“替换为”框中键入“,”(不带引号)。
单击“全部替换”,您将在文本编辑窗口中用逗号分隔Excel数据。
以.csv扩展名保存文件

它应该在Mac和Windows版本的MS Excel中打开


在Mac os X 10.6.8和Win 10上测试。

我无法在Mac os 10.11.5上使用Excel 2016或2011复制此问题。我可以在Mac os X 10.12.6上使用Excel版本16.9(180116)确认存在此问题。考虑到我使用的操作系统版本比他更高,考虑到上面@dawg的评论,这很奇怪。我的行为在各方面都与杰曼所说的相同。