写入 CSV 不会将文本放入列中

Writing to CSV won't put text in columns

我正在尝试使用 playgrounds 创建一个包含一些文本的 CSV 文件。这是代码:

// The text to save
let csvText = "Hello,World,Goodbye!"

// The path
var document = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
var fileURL = document?.appendingPathComponent("result.csv")

// Writing text to path
do {
    try csvText.write(to: fileURL!, atomically: true, encoding: .utf8)
} catch {
    print("something went wrong..")
}

代码确实有效 - 它生成了一个包含文本的 .CSV 文件。问题是文本没有放在 中。见下图:

文本应放在 A B 和 C 列下。

我以为您使用逗号定义列,这就是为什么我的 csvText 常量中的单词用逗号分隔的原因。为什么这不起作用?

当您导入 csv 时(至少在 oppenOffice 中),您必须说出文本分隔符和列分隔符。

确保在 reader 中使用合适的分隔符。

你可以试试用分号';'通常是列分隔符。

CSV 是原始文本文件。打开时,文本(通常)不会出现在列中。这就是 table 的用武之地。当 table 或 sheet 之类的程序打开 CSV 时,它通常在换行符处拆分,然后在逗号处进一步拆分。这将创建一个二维数组。然后,它将二维数组写入 table/sheet.

正如其他人所说,您需要确保将电子表格程序配置为使用所需的分隔符。

我刚刚试过了。

在 Excel for Mac 中,文件菜单中有一个导入命令。它会引导您完成一系列选项,并允许您选择所需的分隔符。在我的副本中,默认分隔符是一个制表符,但我可以很容易地切换到逗号分隔数据。