使用“,”将包含字符串的分号写入 CSV,因为分隔符仍然会导致 CSV 文件中的分隔
Posted
技术标签:
【中文标题】使用“,”将包含字符串的分号写入 CSV,因为分隔符仍然会导致 CSV 文件中的分隔【英文标题】:Writing a Semicolon containing String to CSV with "," as Delimiter still causes Separation in CSV-File 【发布时间】:2021-01-17 08:49:25 【问题描述】:我想将包含字符串的分号写入 CSV。
这就是我所拥有的:
name = ["Peter;Parker"]
file = open("Test.csv", "a", newline='')
writer = csv.writer(file, delimiter=',')
writer.writerow(name)
所以问题是,我想要第 1 列中的完整字符串名称,但实际上分号将前后部分拆分为第 1 列和第 2 列
【问题讨论】:
您是否在电子表格中看到了这种行为?一些电子表格应用程序会尝试各种列分隔符,有时可以在文件打开时进行配置。 @snakecharmerb 在电子表格中是的,所以您是说问题不在 Python 输出端,而是在 csv 文件程序本身? 是的,可能。您的文件似乎是单列 csv,因此如果电子表格程序在列内找到潜在的分隔符,它会假定它是列分隔符。这可以在导入对话框中进行配置。例如,这是 libreoffice calc 的导入对话框:imgur.com/a/7zvvTK7 【参考方案1】:所以@snakecharmerb 的评论是正确的。 就我而言,我试图用 Excel 打开 csv 文件,而 Excel 将分号作为默认分隔符。
您可以通过记事本编辑文件来检查原始文本是否正确,而不是双击 csv 文件来打开 Excel。 如果你想用 Excel 打开它,你需要加载一个空的 excel 文件并转到数据并从文本导入。现在加载 csv 文件,系统会询问您要使用哪个分隔符,不,您可以取消选择分号并选择 none 或 just ,
【讨论】:
以上是关于使用“,”将包含字符串的分号写入 CSV,因为分隔符仍然会导致 CSV 文件中的分隔的主要内容,如果未能解决你的问题,请参考以下文章
使用 soffice 命令行将 xls 转换为分号分隔的 csv