python - 将多个 CSV 字段导入一个 MySQL 字段

标签 python mysql csv

我有一张这样的 table

mytable(`id` int, 'number1' varchar(11), 'number2' varchar(1200))

我也有类似cvs的文件

111111111,222222222,333333333,44444444,,,
222222222,333333333,
111111111,555555555,666666666,

它们之间用“,”(或其他东西)分隔 csv 有 100 列。

我想将第二列到第 100 列合并到 mysql“number2”中, 第一列进入mysql“number1”。

像这样:

id number1    number 2
1  111111111  222222222,333333333,44444444
2  222222222  333333333
3  111111111  555555555,666666666

那么我可以使用 LOAD DATA INFILE 将文件加载到表中吗?我怎样才能做到这一点..?还是有其他方法?

谢谢。

最佳答案

这是一个选项,它创建一个列,将第 2 列到第 100 列组合起来:

LOAD DATA INFILE 'input.csv'
INTO TABLE myTable
COLUMNS TERMINATED BY ','
IGNORE 1 LINES 
(id, number1, number2, ..., number99) 
SET newCol = CONCAT(NULLIF(number1, ''), NULLIF(number2, ''), ..., NULLIF(number99, ''));

然后,您可以从 MySQL 中删除第 2 列到第 100 列:

ALTER TABLE myTable
DROP COLUMN number1,
DROP COLUMN number2,
...
DROP COLUMN number99

关于python - 将多个 CSV 字段导入一个 MySQL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39737398/

相关文章:

mysql - 对mysql时间间隔的值求平均值

python - 查找数字列表的阶乘

python - 如何为图中的每条绘制线选择新颜色

php - 数组格式的 mysql 值,转换为 PHP 数组

mysql - 是否可以在 MySQL 更新语句中标记重复记录?

python - 连续处理 .csv 文件并在特定列包含非空单元格时提取行

python - 从文件 csv 插入 pymongo 时出错

python - 在这种情况下允许 Python monkey patching 的机制是什么?

python - MongoDB 中 GB 数据的数据摄取

python - EC2 微型实例上的 MySQL 性能不佳