前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >将csv文件转为sql文件的shell脚本

将csv文件转为sql文件的shell脚本

作者头像
保持热爱奔赴山海
发布2025-03-16 12:13:42
发布2025-03-16 12:13:42
870
举报
文章被收录于专栏:数据库相关数据库相关

来源:https://github.com/pavanchhatpar/csv-to-sql-converter

注意:

1、csv的行首建议用英文的,这样可以确保脚本生成的sql文件的列也是英文的。

2、csv中如果有特殊字符(例如换行) 会导致行错乱。

代码语言:bash
复制
#!/bin/bash
set -euo pipefail

fname="$1"

# 先转一下编码,防止出现乱码的情况
iconv -f GBK -t UTF-8 ${fname} -o ${fname}.utf8

sed 's/\s*,*\s*$//g' "$fname".utf8 > tmp.csv
op=$(echo "$fname".utf8 | cut -d"." -f 1)
opfile="$op.sql"
op="\`$op\`"
columns=$(head --lines=1 tmp.csv | sed 's/,/`,`/g' | tr -d "\r\n")
columns="\`$columns\`"
tail --lines=+2 tmp.csv | while read l ; do
values=$(echo $l | sed 's/,/\",\"/g' | tr -d "\r\n")
values="\"$values\""
echo "INSERT INTO $op ($columns) VALUES ($values);"
done > "$opfile"
rm -f tmp.csv

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档