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

读取 txt 文本,列中的分隔符要如何处理?

  •  
  •   cirton · Apr 28, 2019 · 3130 views
    This topic created in 2555 days ago, the information mentioned may be changed or developed.

    读取文本:

    9.78043902348e+12,Suzanne Collins,2008.0,The Hunger Games,"The Hunger Games (The Hunger Games, #1)",eng,4.34,4780653

    分隔符是逗号,但是列中如 "The Hunger Games (The Hunger Games, #1)" 包含了逗号,这要如何处理? 使用正则可以吗?

    6 replies    2019-04-29 00:49:39 +08:00
    Chemist
        1
    Chemist  
       Apr 28, 2019
    写 parser,引号方括号圆括号之类的结对出现的字符优先匹配,没有匹配上的话之后逗号都视为普通字符不匹配。
    my3157
        2
    my3157  
       Apr 28, 2019
    如果不特别 care 性能, 建议正则
    lululau
        3
    lululau  
       Apr 28, 2019
    这不是 CSV 吗,人家已经把包含分隔符的字段引起来了啊
    annielong
        4
    annielong  
       Apr 28, 2019
    就如 csv 大文件导入时候文本包含引号的问题一样
    gaolycn
        5
    gaolycn  
       Apr 28, 2019 via Android
    请使用 csv parser,不用当作纯文本自己处理
    autogen
        6
    autogen  
       Apr 29, 2019
    我还见过这样的代码。。。。

    if cols.length == 9:
    fullname = cols[4] +',' + cols[5]
    cols.pop(5)
    else:
    fullname = cols[4]



    -
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1073 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 23:15 · PVG 07:15 · LAX 16:15 · JFK 19:15
    ♥ Do have faith in what you're doing.