请问如何处理 CSV 文件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
harryperlau
V2EX    数据库

请问如何处理 CSV 文件

  •  
  •   harryperlau 2019-01-10 01:06:10 +08:00 3148 次点击
    这是一个创建于 2541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我向服务端发送请求后返回了一堆数据, 类似这样 {"Data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,4,36,58,42,50,38,78,86,28,48,36,4096,80]"

    我的做法是:使用在线 json 转 csv 工具后,导出 csv,用 excel 打开时不能完全加载,因为有十几万列的数据。 我的做法正确么?请问我该如何处理这些数据?

    21 条回复    2019-01-10 22:02:57 +08:00
    Trim21
        1
    Trim21  
       2019-01-10 01:12:20 +08:00
    学一门编程语言, 然后直接处理这个数组
    fzinfz
        2
    fzinfz  
       2019-01-10 01:16:56 +08:00 via Android
    十几万列?多少行?列数超出 excel 最大值了
    noqwerty
        3
    noqwerty  
       2019-01-10 02:52:09 +08:00 via Android
    想说 pandas,但是十几万列也很吃力了
    Mac
        4
    Mac  
       2019-01-10 02:58:50 +08:00 via Android
    列? excel 最大列数 16384,03 格式的最大 256
    sinxccc
        5
    sinxccc  
       2019-01-10 03:06:00 +08:00
    import 到 sqlite ?

    不讲究的话 awk/sed/grep 三板斧说不定也行=_=
    arYUWang
        6
    arYUWang  
       2019-01-10 04:55:30 +08:00
    只是处理数据的话编程效率很慢的,学个 ETL 工具吧,最近公司要我探索 Talend Open Studio, 功能很强大,还免费
    penisulaS
        7
    penisulaS  
       2019-01-10 07:56:42 +08:00
    这种数据量的数据要么分文件分开处理,要么入数据库
        8
    insolo  
       2019-01-10 08:01:16 +08:00 via iPhone
    Excel power pivot 可以了解下
    lastpass
        9
    lastpass  
       2019-01-10 08:14:00 +08:00
    处理办法。
    grammar CSV;

    csvFile: hdr row+ ;
    hdr : row ;

    row : field (',' field)* '\r'? '\n' ;

    field
    : TEXT
    | STRING
    |
    ;

    TEXT : ~[,\n\r"]+ ;
    STRING : '"' ('""'|~'"')* '"' ;
    这样你就几乎可以做关于 csv 的任何事了。
    https://github.com/antlr/grammars-v4/blob/master/csv/CSV.g4
    zzzhbooo
        10
    zzzhbooo  
       2019-01-10 08:48:07 +08:00
    是十几万行还是十几万列。。。
    codebear01
        11
    codebear01  
       2019-01-10 08:50:23 +08:00
    php -> fgetc explode
    weixiangzhe
        12
    weixiangzhe  
       2019-01-10 08:50:49 +08:00 via iPhone
    csv 的话后台转 json 能花几分钟,
    randyo
        13
    randyo  
       2019-01-10 08:56:55 +08:00 via Android
    var blob = new Blob(['\ufeff' + csv], {type: 'text/csv,charset='});
    zhuawadao
        14
    zhuawadao  
       2019-01-10 09:33:04 +08:00
    EmEditor
    pkoukk
        15
    pkoukk  
       2019-01-10 10:09:34 +08:00
    你得说说你想怎么处理这些数据啊,如果只是你列出来的这种数据,十几万几百兆撑死了,直接随便拿门编程语言读这个 json 进内存开始撸就行了。
    如果上 G 的话,就麻烦了,转成 csv 逐行读,然后写入库或者拆分
    PS:十几万行的数据很常见,十几万列的数据???说实话我没听说过啥数据能有十几万列
    Earl
        16
    Earl  
       2019-01-10 13:53:17 +08:00
    lz 的数据是不是就一行,然后这么些数字,所以在 excel 里面打开成列的吧。
    其实 csv,用一般的文本文件也能打开啊。
    CallMeReznov
        17
    CallMeReznov  
       2019-01-10 14:00:59 +08:00
    不知道你的处理是什么意思
    如果说是列转成行 你都有 csv 了 直接 shell 的 sed awk 不就好了?
    night98
        18
    night98  
       2019-01-10 14:07:41 +08:00
    你这个不是 csv 吧。。。
    lovelybear
        19
    lovelybear  
       2019-01-10 14:10:58 +08:00 via Android
    这个不是 csv 吧。。。只是普通的数组吧
    Alexhex
        20
    Alexhex  
       2019-01-10 14:13:24 +08:00
    现在 Excel 处理十几万行的 csv 还是能做到的。但是是列的话。。。建议考虑弄个程序转置?
    saulshao
        21
    saulshao  
       2019-01-10 22:02:57 +08:00
    你首先要理解这个数据到底是干啥的,然后才能讨论怎么做。
    这看起来不像是 CSV,倒像是设计 Jason 的时候偷懒造成的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1355 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 16:59 PVG 00:59 LAX 08:59 JFK 11:59
    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