难: 20G 的 txt 文本,求如何导入 Excel? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
curiosity
V2EX    数据库

难: 20G 的 txt 文本,求如何导入 Excel?

  •  1
     
  •   curiosity 2017-05-03 15:02:57 +08:00 7010 次点击
    这是一个创建于 3089 天前的主题,其中的信息可能已经有所发展或是发生改变。

    部门最近处理数据,从 IT 那里导出了 20G 的 txt 文件,但是不晓得怎么用。V 友萌给点建议撒~

    89 条回复    2017-05-20 22:04:32 +08:00
    hcymk2
        1
    hcymk2  
       2017-05-03 15:10:56 +08:00
    没什么特殊要求,而且那个 txt 文件是 CSV 格式的话, 直接分割 20G 的 txt
    http://stackoverflow.com/questions/23757991/maximum-number-of-rows-of-csv-data-in-excel-sheet
    F281M6Dh8DXpD1g2
        2
    F281M6Dh8DXpD1g2  
       2017-05-03 15:11:30 +08:00
    导入了之后打算干啥?
    rrfeng
        3
    rrfeng  
       2017-05-03 15:12:27 +08:00   1
    倒进去了也打不开……导进去干啥
    954880786
        4
    954880786  
       2017-05-03 15:12:37 +08:00 via iPhone
    开两个文件指针,一边读一边写啊
    EmdeBoas
        5
    EmdeBoas  
       2017-05-03 15:14:21 +08:00
    java nio MappredByteBuffer
    iyaozhen
        6
    iyaozhen  
       2017-05-03 15:14:47 +08:00
    导进去要干啥?
    andychen20121130
        7
    andychen20121130  
       2017-05-03 15:14:52 +08:00
    一部分一部分处理啊。有什么难的
        8
    lcatt  
       2017-05-03 15:16:43 +08:00
    excel 也不支持 20G 的数据量啊
    h4x3rotab
        9
    h4x3rotab  
       2017-05-03 15:16:58 +08:00
    要是想分割还好说,不分割不大可能放进一个 excel 文件里
    xcodeghost
        10
    xcodeghost  
       2017-05-03 15:18:46 +08:00
    导入进去后,估计你打不开了。
    feng1234
        11
    feng1234  
       2017-05-03 15:22:45 +08:00
    让 IT 那边给你们拆分
    jugelizi
        12
    jugelizi  
       2017-05-03 15:24:28 +08:00
    你想用 excel 自带的分析工具。。。
    weiping
        13
    weiping  
       2017-05-03 15:24:36 +08:00
    支持不了,学学 python, 处理下。
    U7Q5tLAex2FI0o0g
        14
    U7Q5tLAex2FI0o0g  
       2017-05-03 15:26:40 +08:00
    我想说,IT 导出 txt 的时候为什么不按大小切割
    rssf
        15
    rssf  
       2017-05-03 15:26:57 +08:00 via iPhone
    execl20g ?你觉得 execl 不会死还是咋地!倒数据库吧
    foxni
        16
    foxni  
       2017-05-03 15:28:59 +08:00
    execl 有行数限制的好不,20G 的打不开,导进去也没用。
    F281M6Dh8DXpD1g2
        17
    F281M6Dh8DXpD1g2  
       2017-05-03 15:29:03 +08:00
    正经的,楼主还是想办法把这 20g 数据倒进数据库吧,然后才好分析啥的
    bozong
        18
    bozong  
       2017-05-03 15:30:51 +08:00
    有点挑战。。。
    lty1993
        19
    lty1993  
       2017-05-03 15:31:04 +08:00
    买个 LibXL 然后 Parse TXT 一行一行插去 Excel。
    JackyBao
        20
    JackyBao  
       2017-05-03 15:32:39 +08:00
    我很想知道 Excel 打开 20G 的文件,会不会爆内存?
    EricInBj
        21
    EricInBj  
       2017-05-03 15:33:20 +08:00
    直接改成 csv 后缀用 excel 打开

    然而

    excel 会罢工吧。。。
    halfcoder
        22
    halfcoder  
       2017-05-03 15:33:21 +08:00
    @littleylv
    IT 导的时候可能就是随手写了个脚本访问数据库。拆分?不存在的。
    Tunar
        23
    Tunar  
       2017-05-03 15:33:56 +08:00
    boom !
    Septembers
        24
    Septembers  
       2017-05-03 15:34:27 +08:00
    @JackyBao 我 60G 的 CSV 喂 数据库什么事情都没发生
    curiosity
        25
    curiosity  
    OP
       2017-05-03 15:34:27 +08:00
    下载了一个分割器,分成了几百个小文件...
    主要是我不会用数据库啊(惭愧
    谢谢谢谢各位的解答,谢谢。
    Yc1992
        26
    Yc1992  
       2017-05-03 15:35:29 +08:00
    第一步:把冰箱门打开;第二步,把大象装进去;第三步:把冰箱门关上
    Tink
        27
    Tink  
    PRO
       2017-05-03 15:35:42 +08:00
    excel 也打不开
    xavier007
        28
    xavier007  
       2017-05-03 16:02:00 +08:00
    导进去也打不开,还不如导入到 sqlite 或者其他数据库里
    davidqw
        29
    davidqw  
       2017-05-03 16:03:37 +08:00   1
    excel 最多支持 1048576 行,导不完的。100M 的文件打开都慢的要死,弄个 mysql 处理吧
    araraloren
        30
    araraloren  
       2017-05-03 16:38:00 +08:00
    ~~ execl 表示这锅我不背
    自己写代码分批处理比较好吧,既然是数据处理
    jy02201949
        31
    jy02201949  
    2017-05-03 16:43:05 +08:00
    建议导入到数据库里用吧,起码写个 select 分析分析还是可以的,放 EXCEL 你用啥系统、软件都玩不转
    icedx
        32
    icedx  
       2017-05-03 16:43:55 +08:00
    Python -> .csv -> .xls
    johnWall
        33
    johnWall  
       2017-05-03 16:44:14 +08:00
    这个锅直接给 Hive 就好了吧。。逃
    lrh3321
        34
    lrh3321  
       2017-05-03 17:04:54 +08:00
    叫 IT 的给你 建个临时的数据库,把数据直接往里面导,20G 的 txt,转成 excel 你照样打不开
    ho121
        35
    ho121  
       2017-05-03 17:15:39 +08:00   1
    难道不是先看看是什么格式的吗?
    im8a
        36
    im8a  
       2017-05-03 17:36:28 +08:00
    python > csv > xls +1
    代码一小时内写完然后 i3 跑个一天搞定
    tracyone
        37
    tracyone  
       2017-05-03 17:41:37 +08:00 via iPhone
    先用正则表达式工具分析数据然后再倒入到 excel
    syhsyh9696
        38
    syhsyh9696  
       2017-05-03 17:43:46 +08:00 via Android
    Linux 下先 split 分割合适大小在搞,这样也太大了
    vexexv
        39
    vexexv  
       2017-05-03 17:44:39 +08:00
    会 sed 不?然后改一下文件后缀就成了,只是能打开 20G 的 excel 吗?
    yanzixuan
        40
    yanzixuan  
       2017-05-03 17:47:27 +08:00
    @foxni xlsx 貌似是 100w 行的限制,但是我用 libreoffice 打开过比这个更多的 csv。。。
    whale
        41
    whale  
       2017-05-03 17:50:38 +08:00
    一个数据文件 20G,还是 txt,遇到会很头痛!
    singer
        42
    singer  
       2017-05-03 17:54:40 +08:00 via iPhone
    Python 读读快的
    vus520
        43
    vus520  
       2017-05-03 18:10:56 +08:00
    不应该是放到数据库或者 hadoop 中么
    Ginson
        44
    Ginson  
       2017-05-03 18:47:36 +08:00
    txt 用 shell 处理吧,比 excel 不知道高到哪里去了
    wanganjun
        45
    wanganjun  
       2017-05-03 19:45:14 +08:00 via iPhone
    导到数据库吧,excel 是可以连接,读取数据库数据的
    qfdk
        46
    qfdk  
    PRO
       2017-05-03 19:48:12 +08:00 via iPhone
    你需要用 zepplin 然后用 csv 的库 把它读进去 查询就 select
    tairan2006
        47
    tairan2006  
       2017-05-03 20:01:46 +08:00
    算了吧。。能导进去又怎么样,你有那么大的内存么……
    lany
        48
    lany  
       2017-05-03 20:21:09 +08:00
    20G boom
    FunctionOne
        49
    FunctionOne  
       2017-05-03 20:38:38 +08:00
    所以说,不要收集太多数据……
    jyf007
        50
    jyf007  
       2017-05-03 21:19:52 +08:00 via Android
    我做 it 也是用 jq 处理 json 改 csv,但是之中有过滤啊。
    fy
        51
    fy  
       2017-05-03 22:06:41 +08:00
    Excel 格式有一个限制是必须全部载入内存后才能打开。

    所以说……
    davidqw
        52
    davidqw  
       2017-05-03 22:07:28 +08:00   1
    推荐个方案:本地安装 MySQL,客户端 WorkBench 导入数据和清洗数据,Tableau 连接数据库分析出图
    runntuu
        53
    runntuu  
       2017-05-03 22:39:34 +08:00
    长么大还没见过 20G 的 txt,表示想看。。
    zander
        54
    zander  
       2017-05-03 22:46:42 +08:00 via iPhone
    try sql.
    dexterzzz
        55
    dexterzzz  
       2017-05-03 22:49:29 +08:00
    说 excel 100 多 w 行限制的根本不知道 excel 现在发展到什么地步了,去看看什么是 powerpivot,power bi。
    Quaintjade
        56
    Quaintjade  
       2017-05-03 22:50:07 +08:00 via Android
    [IT 表示不想理你,并向你扔了条裤子]
    [你接住了裤子,并开始纠结如何套到头上]
    hahahasnoopy
        57
    hahahasnoopy  
       2017-05-03 23:08:59 +08:00
    @dexterzzz 居然 Excel 都能这样玩了,惊了
    rayray314
        58
    rayray314  
       2017-05-04 00:05:11 +08:00
    Power Query + Power Pivot 可玩,Power BI 亦可。
    HuangLibo
        59
    HuangLibo  
       2017-05-04 00:25:13 +08:00
    还是用数据库吧...
    cnkuner
        60
    cnkuner  
       2017-05-04 00:27:09 +08:00 via Android
    s7word
        61
    s7word  
       2017-05-04 01:29:23 +08:00
    20G txt?给 excel 它能吃的消?
    wuYin
        62
    wuYin  
       2017-05-04 01:55:15 +08:00 via Android
    大公司面试题既视感[doge]
    xpsair
        63
    xpsair  
       2017-05-04 02:01:57 +08:00
    excel 好像只能处理到 50W 行左右的数据,多了就会显示说只加载了一部分。
    ryd994
        64
    ryd994  
       2017-05-04 04:20:07 +08:00 via Android
    excel 那么可怜,你为什么要这样欺负它?
    ggmood
        65
    ggmood  
       2017-05-04 06:19:11 +08:00
    @ryd994 噗~
    zhidian
        66
    zhidian  
       2017-05-04 06:27:49 +08:00
    我想吐槽了,如果一楼不对……你确定不是 csv 的文本 Excel 能知道怎么导入?是 csv 的话拆分起来不是 so easy ?
    Romanticlizhi
        67
    Romanticlizhi  
       2017-05-04 08:24:07 +08:00
    @dexterzzz 2003 一个 sheet 是 6w 多,2007 一个 sheet 是 100 多 w,这没毛病的
    Romanticlizhi
        68
    Romanticlizhi  
       2017-05-04 08:25:24 +08:00
    @davidqw 是一个 sheet 支持这么多行,并不影响你多 sheet
    shizhouren
        69
    shizhouren  
       2017-05-04 08:37:09 +08:00
    Python 是怎么读 txt 文档的,这算是机器学习吗?
    UnknownR
        70
    UnknownR  
       2017-05-04 08:44:32 +08:00
    上次打开个几百 mb 的 log 都瞎眼,20G,那画面太美,不知道能不能打开,excel 的逻辑上限 2^20 行,也就是 100w 行多一点,而且你的内存最低要求也要 4 根插满的 8G,
    GoForce5500
        71
    GoForce5500  
       2017-05-04 09:02:12 +08:00
    安利 Spark,写好 Parser 就可以开始统计了。
    changwei
        72
    changwei  
       2017-05-04 09:13:23 +08:00 via Android
    想不到这个世界上怎么总会有一些奇奇怪怪的需求
    Alexhex
        73
    Alexhex  
       2017-05-04 09:32:11 +08:00
    非码农。

    之前我也处理过一些很大的实验数据。后来用 Python 手工把采样频率降到了原先的 1/10 (就是每 10 行抽一行),然后再导入 Excel 处理。
    Sh888
        74
    Sh888  
       2017-05-04 09:38:49 +08:00
    SQL Server ETL
    realpg
        75
    realpg  
    PRO
       2017-05-04 09:45:24 +08:00   1
    @zhidian #66
    不是 csv 只要有分隔就能导入啊
    基本我导入的都是 txt 很少 csv

    @tairan2006 #47
    您对 EXCEL 的认知还停留在 2007 吧……现在已经 2017 年了……
    excel powerpivot, power query, power view 都是神器
    HGladIator
        76
    HGladIator  
       2017-05-04 10:12:29 +08:00
    喂猫不用 spark hadoop 什么的 专制各种大文件
    lilydjwg
        77
    lilydjwg  
       2017-05-04 11:19:42 +08:00
    导进去了也打不开……导进去干啥
    davidqw
        78
    davidqw  
       2017-05-04 12:00:09 +08:00
    @Romanticlizhi 可以试下单 sheet 百万行 excel 的分析,不说处理速度和数据拆分衔接的问题,光软件日常崩溃就够喝一壶的
    yuedingwangji
        79
    yuedingwangji  
       2017-05-04 12:36:09 +08:00
    excel 肯定就读不了那么多的行
    dexterzzz
        80
    dexterzzz  
       2017-05-04 12:42:02 +08:00
    一群不懂 excel 的人...( _ _)ノ|
    newworld
        81
    newworld  
       2017-05-04 13:00:40 +08:00
    @dexterzzz #80 你出来案例一波 我们涨姿势 嘿嘿
    lonelygo
        82
    lonelygo  
       2017-05-04 13:01:56 +08:00
    @johnWall 终于看见有人给 Hive 甩锅了
    tairan2006
        83
    tairan2006  
       2017-05-04 13:41:38 +08:00
    @realpg 搜了一下,长见识了…不过平时还是用 DB 用的多
    sampeng
        84
    sampeng  
       2017-05-04 14:43:06 +08:00
    20G...普通的统计 shell 也能跑出来。其实并不多,20G 并不代表行数多。python 处理也比 excel 强啊。居然有人在 V2EX 问怎么扔 excel 里面。这很神奇啊。。难道不是怎么用 XXX 做计算之类的么。。不按套路出牌啊
    learnshare
        85
    learnshare  
       2017-05-04 14:49:16 +08:00
    20G Excel 不会炸么
    Felldeadbird
        86
    Felldeadbird  
       2017-05-04 15:00:26 +08:00
    几十 M 的 excel 已经打开慢了。。20G,不敢想象。
    elex
        87
    elex  
       2017-05-05 08:54:08 +08:00
    @h4x3rotab csv 可以一边读一遍写,容量不限制
    elex
        88
    elex  
       2017-05-05 08:54:47 +08:00
    使用 csv,一边读一边写,存到 csv 再打卡就可以
    tjxjj
        89
    tjxjj  
       2017-05-20 22:04:32 +08:00
    等 30 年差不多了。。。,到哪个时候计算机的性能差不多可以就打开了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     956 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 22:55 PVG 06:55 LAX 15:55 JFK 18:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86