【问题标题】:On Ubuntu remove linefeed \n but NOT return \r在 Ubuntu 上删除换行符 \n 但不返回 \r
【发布时间】:2020-01-30 01:52:46
【问题描述】:

在 Ubuntu 上,我有以下输入 csv 数据,其中有需要删除的换行符,但保留回车符,以便记录保留在单独的行中。在记事本++中,LF和CRLF实际显示:

"data","","AO1","AO1","9/30/2019 5:58:07 AM","data data","AO1","AO1","","","data","","","data","fndata","lndata","","datedata","data","653","datedata","","","data%","","","English","Expressive","","","","","","","9/30/2019","","","","","emdata","data","","","","","","","St.data","","citydata","data","zipdata","","0","","","","","","","","","","","","","","","","","","","","","","","","","0","","data","Lorem Ipsum data data  data

data data","","","","","","","9/30/2019 5:58:07 AM"

我试过 tr '\n' ' '

我也在 python 中尝试了下面的代码,它在 windows 中有效,但在 ubuntu 上无效

def replaceall(file, searchexp, replaceexp):
    backup = file + '.bak'
    os.rename(file,  backup)
    with open(backup, 'r', newline='') as source, open(file, 'w', newline='') as dest:
        for line in source:
            if searchexp in line:
                line = line.replace(searchexp, replaceexp)
            dest.write(line)

我希望这一行会出现在一个赞上并保持回车不变。

【问题讨论】:

    标签: csv ubuntu-18.04


    【解决方案1】:

    意识到我可以在 Ubuntu 上使用上面的 python 代码将 \n 替换为空格,然后重新运行并将 \r 替换为 \r\n 并清理文件。

    对噪音感到抱歉,但希望它可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 2020-09-25
      • 1970-01-01
      • 2016-06-23
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      相关资源
      最近更新 更多