我正在寻找一种将数据库转换为CSV文件的方法。我通过终端以及SQLiteStudio使用SQLite 3。我没有遇到过导出或保存为CSV的简单方法,这让我觉得我可能无法一步到位。
答案 0 :(得分:3)
在sqlite3
命令行shell中,单表可以使用:
sqlite> create table t(x,y);
sqlite> insert into t values(1, 'hello'), (2, 'world');
sqlite> .mode csv
sqlite> select * from t;
1,hello
2,world
您可以使用.output
或.once
将输出重定向到文件。
答案 1 :(得分:0)
如果你在linux中,你需要二进制文件sqlite3单个bash文件。 我的示例代码如下所示:
#!/bin/sh
PATH_BIN="/home/user/project/bin/";
PATH_SOURCE=$PATH_BIN"db/sample.sqlite3";
PATH_TARGET_DUMP=$PATH_BIN"dump/export_all.db";
PATH_TARGET_SCHEMA=$PATH_BIN"dump/export_schema.db";
PATH_TARGET_CSV=$PATH_BIN"dump/export_csv.csv";
##### DUMP ALL SCHEMA & DATA #####
sqlite3 $PATH_SOURCE .dump > $PATH_TARGET_DUMP;
echo "Done... Export all to: " $PATH_TARGET_DUMP;
#### DUMP SCHEMA (ONLY) #####
sqlite3 $PATH_SOURCE .schema > $PATH_TARGET_SCHEMA;
echo "Done... Export schema (only) to: " $PATH_TARGET_SCHEMA;
#### DUMP TO CSV FILE #####
QUERY="SELECT * FROM table";
# with header
# sqlite3 -csv -header $PATH_SOURCE $QUERY > $PATH_TARGET_CSV;
# without header
sqlite3 -csv $PATH_SOURCE $QUERY > $PATH_TARGET_CSV;
echo "Done... Export csv file to: " $PATH_TARGET_CSV;
echo "All Done !";
您也可以在我的gist文件here
中分叉答案 2 :(得分:0)
以下python3代码段可能会有所帮助:
2020-07-15T21:05:00Z