【发布时间】:2014-05-24 01:54:51
【问题描述】:
我们正在尝试使用 Python 中的 CSV 文件,以允许用户在 Excel 中编辑它们,而不会丢失数据。但是,在 Excel 中使用撇号来转义文本以及 CSV 格式的实现似乎可以防止这种情况发生。为清楚起见,我将使用以下术语:
- quoted 指的是一个 CSV 单元格,其中包含使用双引号的文本引用,而 unquoted 指的是一个没有引用的单元格
- 撇号转义指的是一个 Excel 单元格,该单元格在 Excel 的基础值中具有作为文本标记的前导撇号,但显示时没有该前导撇号
根据实验,似乎:
- CSV 单元格中单个未加引号的
'在 Excel 中打开为包含撇号转义的空白字符串的单元格('的基础值,显示为空单元格) - CSV 单元格中引用的单个
'在 Excel 中作为包含单引号转义单引号的单元格打开(@987654325@ 的基础值,显示为') - 将包含撇号转义的空白字符串的 Excel 单元格保存为空 CSV 单元格
- 包含撇号转义撇号的 Excel 单元格保存为单个未引用的
'
这意味着,即使在 CSV 单元格中引用单个撇号,在 Excel 打开和保存时也会导致不带引号的撇号;下次通过 Excel 打开和保存此文件时,它将导致一个空白单元格。是否可以避免这种数据丢失?
PS 我知道CSV is not a fully standardized file format;但是我找不到任何专门解决上述问题的文档。
【问题讨论】:
标签: excel csv escaping data-loss