我们尝试使用Python中的CSV文件,允许用户在Excel中编辑它们,而不会丢失数据。但是,在Excel中使用撇号来转义文本以及CSV格式的实现似乎可以防止这种情况。为清楚起见,我将使用以下术语:
基于实验,似乎:
'
在Excel中打开,作为包含撇号转义空白字符串的单元格(基础值为'
,显示为空单元格)'
在Excel中打开,作为包含撇号转义单撇号的单元格(基础值为''
,显示为'
)'
这意味着即使在CSV单元格中引用单个撇号,也会在Excel打开并保存时导致不带引号的撇号;下次打开并通过Excel保存此文件时,将生成一个空白单元格。是否有可能避免这种数据丢失?
PS我知道CSV is not a fully standardized file format;但是我找不到任何专门解决上述问题的文件。
答案 0 :(得分:0)
一个简单的解决方案是在将字符串存储在Excel中之前替换单引号(撇号).........此示例使用 tilda
Sub ImportFile()
Close #1
Open "C:\TestFolder\TestFile.csv" For Input As #1
j = 1
Do While Not EOF(1)
Line Input #1, TextLine
TextLine = Replace(TextLine, "'", "^")
Cells(j, 1).NumberFormat = "@"
Cells(j, 1) = TextLine
j = j + 1
Loop
Close #1
End Sub
这应该将所有数据放入一个列中。
从那里,您可以使用文字到列解析数据,并根据您的选择进行处理。
请务必在保存之前更换tildas。