V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
curiosity
V2EX  ›  数据库

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

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

    部门最近处理数据,从 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
    liprais
        2
    liprais  
       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
    一部分一部分处理啊。有什么难的
    lcatt
        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, 处理下。
    littleylv
        14
    littleylv  
       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 的打不开,导进去也没用。
    liprais
        17
    liprais  
       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  
       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  
       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  
       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   ·   实用小工具   ·   1773 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.