【问题标题】:Google sheet formats numbers incorrectly when a .csv file is uploaded to google drive将 .csv 文件上传到谷歌驱动器时,谷歌表格的数字格式不正确
【发布时间】:2020-11-26 10:38:36
【问题描述】:

我的 .csv 文件中有以下数据(由 python 脚本生成):

"count","spbli_sku","calendar_week"
1,"2000.100",43
2,"2000.100",45
2,"2000.100",47
2,"2000.20",41
3,"2000.20",42
7,"2000.20",43
11,"2000.20",44
15,"2000.20",45

当我将此文件上传到谷歌驱动器时,谷歌将“2000.10”格式化为“2000.1”,将“2000.20”格式化为“2000.2”。即使我在谷歌表格中打开这个文档,我也可以将其格式化回初始值。

我可以怎样去获取谷歌表格中的初始值(因为我在初始 .csv 文件中拥有它们)?

【问题讨论】:

  • 关于When I upload this file into the google drive, google formats '2000.10' to '2000.1' and '2000.20' to '2000.2'.,如果您是使用脚本上传CSV数据,能否展示您当前的脚本?
  • @Tanaike 我不使用脚本上传它。这是一个手动过程
  • 感谢您的回复。在我的环境中,当您的 CSV 数据手动上传到 Google Drive 时,当我在查看器中看到它时,我可以复制您的问题。但是,当我通过文本编辑器看到它时,可以看到上传的 CSV 原始数据。所以在这种情况下,当 CSV 文件转换为 Google 电子表格时,似乎使用了默认的数字格式。在您的情况下,我认为需要通过提供自定义数字格式将值放入电子表格,或者将值作为字符串。这可以通过脚本来实现。如果这不是您期望的方向,我深表歉意。

标签: google-sheets


【解决方案1】:

您可以在电子表格中导入these formats。完成后,数字将自动转换为您提到的。

为了显示像 2000.10 而不是 2000.1 的格式,您应该选择有问题的列或单元格并转到顶部菜单,然后单击 格式 > 数字 > 更多格式 > 自定义数字格式,在这里您将看到不同的示例,以便了解如何格式化您的数字。在您的特定情况下,如果您打算将 2000.1 更改为 2000.10,请使用格式 0.00 或使用 0.000 如果您想要 2000.100 而不是 2000.10

参考

Format numbers in a spreadsheet

【讨论】:

  • 是和不是。想象一下,我有值“2000.10”和“2000.100”。你的方法对我没有帮助。
  • 那么您必须使用 Google Apps 脚本和触发器。默认情况下,您不能使用您想要的格式导入,而是在之后格式化您的单元格。为了更好地调查这一点,我的问题是在导入时保持该格式的目的是什么?
【解决方案2】:

您可以尝试编辑您的 python 脚本并在上传到驱动器或谷歌表格时要保留格式的数字值之前添加一个撇号 (')。结果见下面的截图:

要上传的 CSV 文件:

它在驱动器/表格中的显示方式:

驱动器保留格式,因为在上传文件中的数字前添加撇号会将值转换为字符串,从而保留上传前的格式。

参考:Link

【讨论】:

  • 这是一个奇怪的解决方法。如果文件不是由 python 生成,而是从 db 中提取为 csv 怎么办?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-10
  • 2021-06-01
  • 2019-08-04
  • 1970-01-01
相关资源
最近更新 更多