Skip to main content
 首页 » 编程设计

python之在逗号分隔的行中转置数据

2025年05月04日10over140

我有一个文件,其中包含一列和 200 行 (200*1) 的数据。

我想把这些数据放在一行中,用逗号分隔。

示例文件

Paul 
Pammy 
Jacob 
Robin  

输出

Paul, Pammy, Jacob, Robin 

请您参考如下方法:

使用sed:

sed ':a;{N;s/\n/, /};ba' INPUT_FILE 

说明:

我不是 sed 方面的专家,但这就是上面一行的意思:

  1. :a

    :label 命令创建一个命名标签 a。这在与 ba 一起使用时分支到标签。这对于创建循环和转义到脚本末尾以打印当前模式空间很有用。

  2. N

    N 只是使用 \n 将下一行附加到模式空间。

  3. s/\n/,/

    由于新行已使用 \n 附加到模式空间,我们使用此替换将 \n 替换为 , 和 space 根据 OP 的要求。

测试:

[jaypal:~/Temp] cat file 
Paul 
Pammy 
Jacob 
Robin 
 
[jaypal:~/Temp] sed ':a;{N;s/\n/, /};ba' file 
Paul, Pammy, Jacob, Robin