如何阻止Excel将10-3等值格式化为日期?

如何阻止Excel将10-3等值格式化为日期?,excel,date,csv,formatting,Excel,Date,Csv,Formatting,我有一个创建CSV文件的Python脚本,其中一列有4-10、10-0等值 当我在Excel中打开CSV时,它将这些值格式化为日期,例如,4-Oct。当我转到格式化单元格并将类型更改为文本,它将4-10更改为43012 停止此操作的最简单方法是什么?将数据导入Excel时,请告诉导入向导该字段为文本 将数据导入Excel时,告诉导入向导该字段为文本 我的首选是在可能的情况下处理输入,在这种情况下,如果您可以控制python脚本,则最好简单地修改它,以便Excel的默认行为以所需的方式解释文件 借

我有一个创建CSV文件的Python脚本,其中一列有
4-10、10-0等值

当我在Excel中打开CSV时,它将这些值格式化为日期,例如,
4-Oct
。当我转到
格式化单元格
并将类型更改为
文本
,它将
4-10
更改为
43012


停止此操作的最简单方法是什么?

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


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


我的首选是在可能的情况下处理输入,在这种情况下,如果您可以控制python脚本,则最好简单地修改它,以便Excel的默认行为以所需的方式解释文件

借用,您可以修改python脚本以包含非打印字符:

output.write('"{0}\t","{1}\t","{2}\t"\n'.format(value1, value2, value3))
这样,您可以轻松地双击打开文件,内容将被视为文本,而不是解释为数字/日期值

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

例如:

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中双击打开时:


我的首选是在可能的情况下处理输入,在这种情况下,如果您可以控制python脚本,则最好简单地修改它,以便Excel的默认行为以所需的方式解释文件

借用,您可以修改python脚本以包含非打印字符:

output.write('"{0}\t","{1}\t","{2}\t"\n'.format(value1, value2, value3))
这样,您可以轻松地双击打开文件,内容将被视为文本,而不是解释为数字/日期值

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

例如:

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中双击打开时:


我不是真的将数据导入excel,我只是打开了CSV文件。所以,我应该打开一个空白的Excel文档并导入CSV文件?这正是我想要的!excel不允许您在打开文件时关闭日期,这太愚蠢了……您的回答非常有用,谢谢!我不是真的将数据导入excel,我只是打开CSV文件。所以,我应该打开一个空白的Excel文档并导入CSV文件?这正是我想要的!excel不允许您在打开文件时关闭日期,这太愚蠢了……您的回答非常有用,谢谢!您能分享在CSV中创建这些值的python代码示例吗?停止使用Excel。它还删除了前导的zerosTry:
output.write(“{0}\t”、“{1}\t”、“{2}\t”\n.format(value1、value2、value3))
能否共享在CSV中创建这些值的python代码示例?最简单?停止使用Excel。它还删除了前导的zerosTry:
output.write(“{0}\t”、“{1}\t”、“{2}\t”\n”。格式(value1、value2、value3))