【问题标题】:convert data to comma separate将数据转换为逗号分隔
【发布时间】:2021-06-04 14:44:22
【问题描述】:

我的目录中有 10 个文件。

每个文件作为一个列记录,如下所示;

文件 1:

A
B
C
D

文件2:

C
D
F
G

2个文件的意思

预期输出:

  • 文件 1 数据应该是:"A","B","C","D" -> 写入新文件:A1.txt
  • 文件 2 数据应该是:"C","D","F","G" -> 写入新文件:A2.txt

我试过这个命令,它部分工作,但用',' 命令添加最后一个值

sed -e 's/.*/\"&\"/' /d/file1.txt | tr '\n' ','

在下面给出输出,但在末尾有逗号,这是额外的

"A","B","C","D",

注意:文件末尾可能包含空白行/空格/制表符 应该忽略。

如何在python中编写相同的脚本?

【问题讨论】:

    标签: python shell


    【解决方案1】:

    使用paste

    此外,由于您正在编写 CSV,因此您希望转义原始数据中存在的任何双引号

    sed 's/"/""/g; s/.*/"&"/' filename | paste -s -d,
    

    可以方便地编写快速脚本:捆绑的 csv 模块意味着您不必担心边缘情况。

    ruby -rcsv -e '
      data = File.new(ARGV.shift).readlines(chomp: true)
      puts CSV.generate_line(data)
    ' file
    

    【讨论】:

    • 是否可以在不创建新文件的情况下写入同一个文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多