我们正在尝试以一种允许用户在 Excel 中编辑它们而不会丢失数据的方式使用 Python 中的 CSV 文件。但是,在 Excel 中使用撇号来转义文本以及 CSV 格式的实现似乎可以防止这种情况发生。为清楚起见,我将使用以下术语:
- 引用以引用具有使用双引号的文本引用的 CSV 单元格,并且未引用以引用不引用的单元格
- 撇号转义以引用具有前导撇号作为 Excel 中基础值中的文本标记的 Excel 单元格,但显示时没有该前导撇号
根据实验,似乎:
- CSV 单元格中未加引号的单个
'
单元格在 Excel 中打开为包含撇号转义的空白字符串的单元格(基础值'
,显示为空单元格) - CSV 单元格中引用的单个
'
单元格在 Excel 中打开为包含撇号转义的单个撇号的单元格(基础值''
,显示为'
) - 包含撇号转义的空白字符串的 Excel 单元格被保存为空的 CSV 单元格
- 包含撇号转义撇号的 Excel 单元格被保存为单个未引用的
'
这意味着即使在 CSV 单元格中引用单个撇号也会在 Excel 打开和保存时导致不带引号的撇号;下次通过 Excel 打开和保存此文件时,它将导致一个空白单元格。是否可以避免这种数据丢失?
PS 我知道CSV 不是完全标准化的文件格式;但是我找不到任何专门解决上述问题的文档。