【问题标题】:Import csv data into Mysql database将csv数据导入Mysql数据库
【发布时间】:2015-07-15 12:50:47
【问题描述】:

我们收到一个用于更新订单数据库的 csv 文件。

现在文件中有一个跟踪代码。在 csv 文件中,它显示为 f.i. 26E+12。这是一个科学数字。当我单击单元格时,它显示为 563200000 或类似的内容。

现在我们正在运行一个 cronjob,它将这些数据导入我们的数据库。 唯一的问题是将跟踪代码导入为26E+12。现在,当我们要检查网站后端的跟踪代码时,会粘贴一个 url,所以你会得到类似:http://trackmynumber/26E+12...

这对于运营商网站来说是不可读的,因为他们期待http://trackmynumber/563200000

有什么方法可以从 csv 文件中转换或提取实数,以便将其作为数字导入数据库中?

【问题讨论】:

  • 您是从 Excel 创建 csv 吗?
  • 我不知道你如何将 26E+12 联系起来,这是 26000000000000 与 563200000 的科学记数法(5632E+4 或 5.632E7)
  • MySQL相关列的数据类型是什么?
  • 检查表的数据类型。可能是 VARCHAR
  • 我的数据库中的列是 varchar....(15)。但它需要从 csv 列(其值为 26E+12(这是一个数字))中获取好的代码。无法调整或更改 csv,因为对于大约 500 种产品,我们必须每 3 小时执行一次)。

标签: mysql database csv import


【解决方案1】:

将获得该值的列的数据类型更改为浮动

【讨论】:

  • 问题解决了。似乎在 excel 中打开 csv 文件时,一个大值或带有前导零的值会自动成为科学单元格。这不能被撤消。当与诸如 excel 之类的程序以外的任何东西接触时,它不会更改单元格/列,因此在导入数据库时​​实际值仍然存在。感谢您的帮助。
猜你喜欢
  • 2017-11-26
  • 1970-01-01
  • 2011-10-19
  • 2017-11-15
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
相关资源
最近更新 更多