我想为某些csv文件生成sql insert语句.
我可以使用单线程awk脚本执行此操作,例如:
awk -F "\t" '{printf("INSERT INTO T_COMMON_ENUM_VALUE (id,name,category_id) values (%s, '\''%s'\'', %s, %s);\n", $1, $2, $3, $4)}'
Run Code Online (Sandbox Code Playgroud)
但这还需要一些努力.csvkit里面的csvsql似乎会自动生成insert语句.我检查了文档并使用了以下命令,但它不生成插入语句.
$ cat data02.csv
db_enumvalue_id db_enumvalue_name db_enumcategory_id
800 ?irin 9
$ csvsql data02.csv
CREATE TABLE data02 (
db_enumvalue_id INTEGER NOT NULL,
db_enumvalue_name VARCHAR(18) NOT NULL,
db_enumcategory_id INTEGER NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
它生成create table语句.但文件说:
Generate SQL statements for a CSV file or execute those statements directly on a database.
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使用csvkit获取insert sql语句?
我正在使用csvkit版本1.0.3中的in2csv,它是通过pip与Python 3.7一起安装的。
使用该工具执行最基本的转换任务时,即
in2csv filename.xlsx > test.csv
Run Code Online (Sandbox Code Playgroud)
我被打错了
iter_rows() got an unexpected keyword argument 'row_offset'
Run Code Online (Sandbox Code Playgroud)
我了解该错误是由基础库openpyxl报告的。该问题如何解决?