首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阻止Excel将诸如10-3格式的值格式化为日期?

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

Stack Overflow用户
提问于 2017-03-24 17:16:08
回答 2查看 201关注 0票数 0

我有一个Python脚本,它创建一个CSV文件,其中一个列具有诸如4-10, 10-0, etc之类的值。

当我在Excel中打开CSV时,它将这些值格式化为dates、ex、4-Oct。当我转到Format Cells并将类型更改为Text时,它会将4-10更改为43012

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-24 17:19:37

当您将数据导入到Excel中时,请告诉导入向导该字段是文本。

票数 3
EN

Stack Overflow用户

发布于 2017-03-24 17:35:06

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

借用this similar question with a million upvotes,您可以修改python脚本以包含一个非打印字符:

代码语言:javascript
运行
复制
output.write('"{0}\t","{1}\t","{2}\t"\n'.format(value1, value2, value3))

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

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

示例:

代码语言:javascript
运行
复制
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中的双击打开时:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43005463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档