将CSV文件转换为SQL数据库的最简单方法是什么?

时间:2018-02-09 14:03:45

标签: sql postgresql csv

我有一个我必须使用SQL分析的CSV文件,所以我要做的第一件事就是将CSV文件转换为SQL文件。我已经尝试过使用免费的在线转换器,但这些仅适用于小型csv文件...... 您是否知道转换CSV文件的最佳方法是什么?

由于

3 个答案:

答案 0 :(得分:1)

使用COPY的查询将是这样的。

COPY $tableName FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER

答案 1 :(得分:0)

您是否尝试过使用https://sqlizer.io/?或者使用命令提示符加载文件:)?​​

答案 2 :(得分:0)

一种天真的方法

  • 假设您的所有列都是字符串(如果没有,请相应地修改)
  • 假设您知道CSV文件中的数据是安全的(不用担心SQL注入)

读完csv后,手动创建一个插入语句。

鉴于以下csv

value11,value12,value13
value21,value22,value23

你可以那样做

# Read the CSV file in an array
rows = ["value11,value12,value13",
        "value21,value22,value23"]

valuesArray = []
for row in rows:
    sql = "('"
    sql += "','".join(row.split(","))
    sql += "')";
    valuesArray.append(sql)

values = ",".join(valuesArray)
sql = "INSERT INTO mytable(column1,column2,column3) VALUES"
sql += values + ";"
print(sql)

输出

INSERT INTO mytable(column1,column2,column3) VALUES
('value11','value12','value13'),
('value21','value22','value23');