Py学习  »  DATABASE

mysql加载文件错误加载不准确的数据

user9092050 • 4 年前 • 792 次点击  

嗨,我有一个csv数据集

UKWN,342018-10-01,“757271”

UKWN,32018-10-01,“7342”

“嗨”,232018-10-01,“3483887”

我想把它插入数据库,所以我做了代码:

将数据本地填充“data.csv”加载到表app_spend_metric中 以“,”结尾的字段 可选地由“”括起 以“\n”结尾的行 忽略1行 (COL1、COL2、COL3、COL4)

但是我没有插入col4(第四行),因为有一个“,”在一个“,”像“7345”

我试过了,

将数据本地填充“data.csv”加载到表app_spend_metric中 以“,”结尾的字段 以“\n”结尾的行 忽略1行 (COL1、COL2、COL3、COL4)

但这次它在col4中输入了部分数据,就像在“7344”中一样,它只输入了“7

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47198
 
792 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Rick James
Reply   •   1 楼
Rick James    5 年前

如果col4是数字(例如, INT ,则问题如下:

  1. 分析行以获取字符串 "7,344"
  2. 剥去外壳 " : 7,344
  3. 将字符串存储到 国际的 列。这需要将该字符串转换为数字。
  4. 转换在第一个非数字字符(即逗号)处停止。
  5. 结果: col4 设置为7,并且 ,344 被抛。

mysql不能处理数字上的“千个分隔符”。但你可以脱掉它们:

LOAD ...
    (col1, col2, col3, @num)
    SET col4 = REPLACE(@num, ',', '')