如何防止matlab自动将带逗号的字符串分隔到csv中的不同单元格?

How to prevent matlab from automatically separating a string with commas to different cells in csv?

我有一个巨大的元胞数组,叫做 A,充满了这样的字符串:

'Watson J. D., Crick F. H., (April 1953)., Molecular Structure of nucleic acids'
'Watson J. D., Crick F. H., (April 1953)., Molecular Structure of nucleic acids'
'Special_Relativity_By_Einstein'
'Special_Relativity_By_Einstein'
'Edgar, R. S., Feynman, Richard P., Klein, S., Lielausis, I., Steinberg, CM (1962) Mapping Experiments...'

而且我想将此元胞数组自动写入一个 xls 或 csv 文件,并写入一列。

问题是当我想使用

等技术将 A 写入 csv 文件时
fid = fopen('NamesOfPapers.csv','w');
for i=1:length(A)
    fprintf(fid,'%s\n', A{i});
end
fclose(fid);

例如,我得到了这一行的多个列:

Watson J. D., Crick F. H., (April 1953)., Molecular Structure of nucleic acids

Special_Relativity_By_Einstein 将只占据第 3 行,第 1 列,这是我想要的方式。

如何获取

等字符串
Watson J. D., Crick F. H., (April 1953)., Molecular Structure of nucleic acids

要在我的 csv 文件中只占用一列,而不是在同一行中占用多个列?我不希望它被自动分成多列。

顺便说一句,我正在使用 MacBookPro 来执行此操作。谢谢!

在文本编辑器中打开 .csv 文件。你会发现它看起来很好。

打开 Excel 中的 .csv 文件时出现问题。 Excel 查看 .csv 文件(扩展名代表 "comma-separated value"),并将逗号解释为开始新列的指示符。

为避免这种情况,请将每一行用引号引起来,以便 Excel 正确解释数据。

fid = fopen('NamesOfPapers.csv','w');
for i=1:length(A)
    fprintf(fid,'"%s"\n', A{i});
end
fclose(fid);