V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
harryperlau
V2EX  ›  数据库

请问如何处理 CSV 文件

  •  
  •   harryperlau · Jan 10, 2019 · 3302 views
    This topic created in 2665 days ago, the information mentioned may be changed or developed.

    我向服务端发送请求后返回了一堆数据, 类似这样 {"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,40,96,80]"

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

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

    不讲究的话 awk/sed/grep 三板斧说不定也行=_=
    arYUWang
        6
    arYUWang  
       Jan 10, 2019
    只是处理数据的话编程效率很慢的,学个 ETL 工具吧,最近公司要我探索 Talend Open Studio, 功能很强大,还免费
    penisulaS
        7
    penisulaS  
       Jan 10, 2019
    这种数据量的数据要么分文件分开处理,要么入数据库
    insolo
        8
    insolo  
       Jan 10, 2019 via iPhone
    Excel power pivot 可以了解下
    lastpass
        9
    lastpass  
       Jan 10, 2019
    处理办法。
    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  
       Jan 10, 2019
    是十几万行还是十几万列。。。
    codebear01
        11
    codebear01  
       Jan 10, 2019
    php -> fgetc explode
    weixiangzhe
        12
    weixiangzhe  
       Jan 10, 2019 via iPhone
    csv 的话后台转 json 能花几分钟,😂
    randyo
        13
    randyo  
       Jan 10, 2019 via Android
    var blob = new Blob(['\ufeff' + csv], {type: 'text/csv,charset=UTF-8'});
    zhuawadao
        14
    zhuawadao  
       Jan 10, 2019
    EmEditor
    pkoukk
        15
    pkoukk  
       Jan 10, 2019
    你得说说你想怎么处理这些数据啊,如果只是你列出来的这种数据,十几万几百兆撑死了,直接随便拿门编程语言读这个 json 进内存开始撸就行了。
    如果上 G 的话,就麻烦了,转成 csv 逐行读,然后写入库或者拆分
    PS:十几万行的数据很常见,十几万列的数据???说实话我没听说过啥数据能有十几万列
    Earl
        16
    Earl  
       Jan 10, 2019
    lz 的数据是不是就一行,然后这么些数字,所以在 excel 里面打开成列的吧。
    其实 csv,用一般的文本文件也能打开啊。
    CallMeReznov
        17
    CallMeReznov  
       Jan 10, 2019
    不知道你的处理是什么意思
    如果说是列转成行 你都有 csv 了 直接 shell 的 sed awk 不就好了?
    night98
        18
    night98  
       Jan 10, 2019
    你这个不是 csv 吧。。。
    lovelybear
        19
    lovelybear  
       Jan 10, 2019 via Android
    这个不是 csv 吧。。。只是普通的数组吧
    Alexhex
        20
    Alexhex  
       Jan 10, 2019
    现在 Excel 处理十几万行的 csv 还是能做到的。但是是列的话。。。建议考虑弄个程序转置?
    saulshao
        21
    saulshao  
       Jan 10, 2019
    你首先要理解这个数据到底是干啥的,然后才能讨论怎么做。
    这看起来不像是 CSV,倒像是设计 Jason 的时候偷懒造成的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5147 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 09:45 · PVG 17:45 · LAX 02:45 · JFK 05:45
    ♥ Do have faith in what you're doing.