Winner4good
V2EX  ›  数据库

600 万行 tsv 打开方式

By Winner4good at 2025 年 4 月 20 日 · 4924 次点击
600 万行的 tsv 用 excel 的 powerquery 打开就卡死
之前最多打开过 300 万行;
除了给电脑加内存条还有别的办法吗。。
需要把 raw data 直接给到业务部门,他们自己要各种维度的分析
29 条回复  •  2025-04-22 13:43:24 +08:00
tsvico
   1
tsvico  
   2025 年 4 月 20 日
klogg
levelworm
   2
levelworm  
   2025 年 4 月 20 日 via Android
直接进数据库?
512357301
   3
512357301  
   2025 年 4 月 20 日 via Android
主要得看业务部门会啥,他们要是会 SQL ,那可以转换成 parquet 或者直接导入数据库,把 parquet 或者数据库的地址给他们,让他们自己写 SQL 分析(duckdb 可以读取到 parquet)。
要是只会 Excel ,那有点麻烦,建议把数据拆分一下,按日期拆分成每个 20 万行的 Excel 或者 csv 。
还可以在导入数据库之后,搭建一个 metabase ,让他们用可视化的方式分析,meta 上手难度高于 Excel ,跟 Excel 透视表类似,但低于 SQL 。
不过有时候吧,这帮业务部门人员 Excel 能力不太敢恭维,只是很基础的 Excel 操作。。。
vopsoft
   4
vopsoft  
   2025 年 4 月 20 日 via Android   ❤️ 1
试试 emeditor 这个还不行别的也不用试了 除非换硬件
Kite6
   5
Kite6  
   2025 年 4 月 20 日 via Android
放到 hdfs 集群,走 spark 或 hive 分析
ETiV
   6
ETiV  
   2025 年 4 月 20 日 via iPhone
直接给业务部门啊 他们打不开关你什么事
winglight2016
   7
winglight2016  
   2025 年 4 月 20 日
业务人员的确超喜欢用 Excel 自己分析数据,我前家公司的业务就这么干的,不过,后来我劝说他们改用 superset 来处理几十万以上的数据。而且,还不需要导出。

另外,正经的做法是单独建立 BI 数据仓库,避免业务库受影响。
Lenic
   8
Lenic  
   2025 年 4 月 20 日 via iPhone
Emeditot ,应该只有这个兜底了
murmurkerman
   9
murmurkerman  
   2025 年 4 月 20 日 via iPhone
sqlite ,轻量,单文件。excel 能做的 sql 都能做
106npo
   10
106npo  
   2025 年 4 月 20 日 via Android
如果只会 office 那就给 access 建数据源
TimePPT
   11
TimePPT  
   2025 年 4 月 20 日
sqlite or duckdb? 一般 raw data 大于 10w 行业务都不会一行行看,聚合计算啥的,不如 sql 方便啊。
qweruiop
   12
qweruiop  
   2025 年 4 月 20 日
emeditor 小 case ,我经常用。
dayeye2006199
   13
dayeye2006199  
   2025 年 4 月 20 日
Dask
snw
   14
snw  
   2025 年 4 月 20 日 via Android   ❤️ 1
这个数据量建议做成 sql 服务,反正 power query 也能读 sql 。标准解决方案应该是搭 BI ,但几百万行数据量又太少了,而且业务部门不一定肯出钱。

如果一定要用 tsv/csv ,先检查 Excel 一定用 64 位,内存至少 16G (多多益善)。
Power Query 默认预读 1000 行,如果只是读取 csv 这类顺序文件就算读全表也只是慢一些,不应该卡死,除非做了其他操作,或者内存瓶颈导致缓存到了硬盘。

如果业务部门还不满意,让他们提方案,比如聚合掉一些不需要的字段,很多时候业务并不需要看每一笔 transaction 。
FgHh07ObvBiST5po
   15
FgHh07ObvBiST5po  
   2025 年 4 月 20 日
AI 可以拆分处理
aminobody
   16
aminobody  
   2025 年 4 月 20 日
@tsvico #1 真的好用
qiuyue0
   17
qiuyue0  
   2025 年 4 月 20 日
emeditor 试试吧
laminux29
   18
laminux29  
   2025 年 4 月 20 日
600w 行的规模,早就应该上数据库了,Excel 不是用来对付这种级别规模的。

专业的需求,请上专业的方案。
unnatural
   19
unnatural  
   2025 年 4 月 20 日
按照跟业务部分打交道的经验,就拆分成多个 csv 给他们,其中一个文件小一些,几万行左右。他们会根据这个文件再提具体需求的,然后再用 SQL 或 pandas 处理好。
levelworm
   20
levelworm  
   2025 年 4 月 20 日 via Android
@snw #14
这个是比较好的,就是成本高一些。要不看看有没有免费工具可以读取 sqllite 的。
xgdgsc
   21
xgdgsc  
   2025 年 4 月 20 日
https://github.com/JuliaComputing/TableView.jl 用 CSV.jl mmap 方式打开文件用这个浏览?如果除了浏览还要分析就看分析需要的内存了
sdshiyan2005
   22
sdshiyan2005  
   2025 年 4 月 20 日 via Android
无脑 duckdb ,或者 polars 。数据不算大
70k
   23
70k  
   2025 年 4 月 20 日
先拿一小部分给 ai 看看分析下结构 然后让 ai 给你写脚本 你直接运行就可以看到想要的结果了
xmdbb
   24
xmdbb  
   2025 年 4 月 21 日
早期:access 开权限,业务经理自己链表操作查看数据。
中期:导出 excel ,他们自己发挥。
现在:业务给出需求,系统出对应报表。
wittyfans
   25
wittyfans  
   2025 年 4 月 21 日 via iPad
列式存储
ltux
   26
ltux  
   2025 年 4 月 21 日
加内存也没用,excel 有明确的行数上限 1048576 ,只能换工具。
gzldc
   27
gzldc  
   2025 年 4 月 21 日
网页打开 分页
xingheng
   28
xingheng  
   2025 年 4 月 22 日
要啥自行车,直接 less ,手动狗头
dlllcs
   29
dlllcs  
   2025 年 4 月 22 日
© 2026 V2EX · 117ms · 3.9.8.5