Excel在提示时以什么格式保存CSV文件(在正文中解释)

Excel在提示时以什么格式保存CSV文件(在正文中解释),excel,csv,Excel,Csv,我从一个java程序执行了一个写操作,创建了一个csv文件,其中包含如下字段: “123”,“大陆”,“你好,男孩”,“我喜欢”战争与和平“ 现在,当我试图将此文件上载到postgres(9.1)数据库时,使用 从“filename.csv”分隔符“csv”复制表格A; 我得到一个错误:在最后一个预期列之后有额外的数据 我相信这是因为第4列中的值中有''',我得到了这个错误 我还发现,只要在excel中打开文件并再次保存,选择“是”提示:“filename.csv可能包含与csv不兼容的功能,是

我从一个java程序执行了一个写操作,创建了一个csv文件,其中包含如下字段:

“123”,“大陆”,“你好,男孩”,“我喜欢”战争与和平“

现在,当我试图将此文件上载到postgres(9.1)数据库时,使用 从“filename.csv”分隔符“csv”复制表格A; 我得到一个错误:在最后一个预期列之后有额外的数据

我相信这是因为第4列中的值中有''',我得到了这个错误

我还发现,只要在excel中打开文件并再次保存,选择“是”提示:“filename.csv可能包含与csv不兼容的功能,是否保留此格式”即可完成所有必要的更改

与单击“是”后一样,如果我从同一文件(excel新格式化)执行java读取,则列如下所示:

大陆,你好,男孩,我喜欢战争与和平

此新文件(保存后)也成功上载。我在一个小文件上尝试了此操作。但我的原始文件有250万条记录(>2.5gb),excel无法打开它。您知道excel如何保存它吗?以便我可以手动将更改应用于我的文件


谢谢

您看到Excel如何将字段内的所有单个“字段”更改为“”(doeble)了吗?我想这就是答案。Excel还删除了“不包含空格、逗号或嵌入的字段周围的字段”,但我不认为这有什么区别。因此,请尝试将所有“不在字段边界上的字段”替换为“”看看这是否有效

如果在任何字段中没有嵌入“,”序列,那么您可以简单地将所有“,”替换为“,”然后将所有“,”替换为“,”但如果字段中有“,”序列,那么这当然不起作用。问题是,如果字段中有“,”嵌入,人们怎么知道它是否是字段分隔符