如何阻止Excel格式化值,如10-3作为date?

我有一个Python脚本创build一个CSV文件,其中一列有值,如4-10, 10-0, etc

当我在Excel中打开CSV时,它将这些值的格式设置为date,例如4-Oct 。 当我去Format Cells并将types更改为Text ,它将4-10更改为43012

什么是阻止这个最简单的方法?

将数据导入Excel时,请告诉导入向导该字段为文本

在这里输入图像说明

我希望在可能的情况下处理input,在这种情况下,如果您能控制python脚本,最好简单地修改 ,以便Excel的默认行为以所需的方式解释文件。

从百万upvotes从这个类似的问题 ,你可以修改你的Python脚本,包括一个非打印字符:

 output.write('"{0}\t","{1}\t","{2}\t"\n'.format(value1, value2, value3)) 

这样,您可以轻松地双击打开文件,内容将被视为文本,而不是解释为数字/date值。

这样做的好处是,其他用户不必记得使用该向导,并且处理混合数据也可能更容易。

例:

 def writeit(): csvPath = r'c:\debug\output.csv' a = '4-10' b = '10-0' with open(csvPath, 'w') as f: f.write('"{0}\t","{1}\t"'.format(a,b)) 

在文本编辑器中生成以下文件:

在这里输入图像说明

当通过在Excel中双击打开时:

在这里输入图像说明