如何阻止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中双击打开时: