一个用SQL处理excel和跨库查询的开源工具分享

简介

项目地址: github.com/WenchaoZeng...

一个基于sql的数据处理工具, 可以通过写sql的方式对excel, csv, 跨库mysql表等进行数据处理和加工.

用途

  1. 使用SQL分析处理excel或csv文件.
  2. 在excel和各个跨库数据库(比如mysql)之间, 进行跨库数据分析.
  3. excel数据导入导出.

下载和运行

  1. 从 releases 里面下载最新的zip包, 解压到一个特定目录.
  2. 准备一个测试的sql文件, 内容为:
sql 复制代码
# h2
select 1 as a;
  1. 从命令行进入目录, 执行下面命令:
bash 复制代码
./start.sh /你的sql文件路径/文件名称.sql

如果是windows命令行的话, 则是:

bash 复制代码
start.bat C:\你的sql文件路径\文件名称.sql

正常执行的话, 显示结果类似这样:

javascript 复制代码
~/xxxx$ ./start.sh /Users/xxx/test.sql
执行:  /Users/xxx/test.sql
==============================
SQL: h2
select 1 as a;

结果集: table, 行数: 1, 耗时: 149毫秒
==============================
导出结果集table
导出文件路径为: /Users/xxx/SqlDataProcessor/./output/./table.csv

正常情况下结果文件会自动打开的. 如果没有自动打开的话, 可以手动进入output目录, 然后双击里面的csv文件看是不是没有设置默认打开方式. 设置好默认打开方式后, 后续再执行就会自动打开了.

几个使用场景示例

场景1: 分析excel数据

sql 复制代码
# import /Users/wenchaozeng/Documents/文档资料/测试excel.xlsx

# h2
select
    count(*) as 有效数据数量
from $table temp
where
    字 is not null
    and 字 != '';

场景2: 使用excel生成sql

ini 复制代码
# import /Users/wenchaozeng/Documents/文档资料/字库修正/工作表2-表格 1.csv

# local
select
    *,
    concat('update word set phrase = ''', phrase ,''', sentence = ''', sentence ,''' where course = ''word'' and word = ''', word ,''';') as sql_text
from $table temp;

场景3: 导入excel数据到数据库

sql 复制代码
# import /Users/wenchaozeng/Documents/文档资料/测试excel.xlsx

# local_yuyi
insert into word(word, course)
select
    字, 'ENGLISH'
from$table temp;

场景4: excel和mysql联合分析

sql 复制代码
# import /Users/wenchaozeng/Documents/文档资料/测试excel.xlsx

# local_yuyi
select
    word.word,
    word.course
from $table temp
left join word on word.word = 字
where
    length(word.sentence) > 10
;

场景4: mysql跨库数据分析

sql 复制代码
# local_yuyi
select
    word as 本地word,
    sentence as 本地sentence
from word
where
    word in ('你', '好')
;

# prod_yuyi
select
    temp.*,
    word as 线上word,
    sentence as 线上sentence
from $table temp
left join word on word.word = 本地word
;

结语

这个工具目的不在于生产环境上的数据分析, 目的更多的是作为程序员的个人日常工具, 方便在本地进行数据查询和快速分析, 上手快, 无须搭建平台或数据分析环境.

感兴趣的朋友们, 欢迎试用和评论反馈 (记得给个star哟 :D).

相关推荐
vx_Biye_Design11 分钟前
springboot高校选课系统82776-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
打工仔折腾 AI2 小时前
LLaMA 1 到 LLaMA 3 架构演进拆解:从 RoPE、GQA 到词表扩张
人工智能·后端·python·深度学习·langchain·llama
可乐鸡翅yeah_2 小时前
HLS 分片过期清理,直播旧 TS 分片磁盘爆满问题处理
java·后端·spring·m3u8·m3u8在线·音视频在线播放
张彦峰ZYF2 小时前
加了锁不等于扛得住争用:synchronized、显式锁与 CAS 的语义分层、争用代价账本与选型判据
后端·同步设施·内置锁的四种状态与单向升级·可重入的由来与四条硬边界·显式锁的状态字段与等待队列·读写锁与邮戳锁·一次同步的开销账本
专业程序开发源3 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
Gopher_HBo3 小时前
zap采样器与性能优化内幕
后端
变量探索SEQVEC3 小时前
我埋了 8 个假文件,看谁会上钩:12 天 502 次扫描实录
后端
llqbzllll3 小时前
HashMap 的核心结构:从一次 put 看到扩容、桶迁移与树化边界
后端
晚安code3 小时前
设计模式入门:吃透 SOLID 原则与迪米特法则,再学 5 个高频模式
后端·设计模式