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

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

  •  
  •   cirton · 58 天前 · 1047 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。

    读取文本:

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

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



    -
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3857 人在线   最高记录 5043   ·   Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 03:57 · PVG 11:57 · LAX 20:57 · JFK 23:57
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1