【问题标题】:Django import-export leading zeros for numerical values in excelDjango导入导出Excel中数值的前导零
【发布时间】:2016-02-16 16:19:40
【问题描述】:

我面临以下问题:当我使用 django-import-export 在 python 中生成 .csv 文件时,即使该字段是一个字符串,当我在 Excel 中打开它时,前导零被省略。例如。 000123 > 123.

这是一个问题,因为如果我想显示邮政编码,我需要按原样显示零。我可以用引号来覆盖它,但这是不可取的,因为它会引起不必要的注意,而且看起来很糟糕。我也知道您可以通过更改数据类型在 Excel 文件中手动执行此操作,但我不想向使用我的软件的人解释。

有什么建议吗?

提前致谢。

【问题讨论】:

    标签: python django excel django-import-export


    【解决方案1】:

    我已经尝试过this 解决方案。这是@jquijano 建议的解决方案,但没有奏效。

    生成 CSV 后,我用“open office”和“excel”打开它,在这两种情况下,我都可以在每个字符串的开头看到 (') 字符。但是,如果我在编辑器中向 CSV 添加了一个新值,例如“0895”,则 (') 会消失,并且不会删除前导 0。

    幸运的是,我找到了解决方法。我只是在开头添加了一个空字符。

    value = chr(24) + unidecode('00123')
    
    

    【讨论】:

      【解决方案2】:

      一个简单的解决方法是在使用 import-export 时在每个数字的开头添加一个撇号 (')。这样 Excel 就会将这些数字识别为文本。

      【讨论】:

      • 但这在其他情况下会可见吗?说,如果我在文本编辑器中打开它?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      相关资源
      最近更新 更多