我如何按列合并两个列表?

我如何按列合并两个列表?

我需要将两个非常大的列表合并在一起。

文件1.txt

  • 华盛顿|
  • 俄亥俄州|
  • 都柏林|
  • 伦敦|
  • 米兰|

文件2.txt

  • 格雷格
  • 汤姆
  • 保罗
  • 莎朗
  • 账单

输出.txt

  • 华盛顿|格雷格
  • 俄亥俄州|汤姆
  • 都柏林|保罗
  • 伦敦|莎朗
  • 米兰|比尔

我如何在 Windows 中做到这一点?

答案1

我找到了一个可行的解决方案。将行粘贴到 Excel 并将其导出为文本文件,而不是 XLS 文件。

答案2

如果数据量不是太大,您可以使用 MS Office 或 LibreOffice 等软件来完成此操作。加载两个文本文件,将它们剪切并粘贴到电子表格的不同列中(文件 1 的列 A,文件 2 的列 b),然后将(特殊的原始文本)剪切并粘贴回文本文档中。

它并不漂亮,但需要你进行一些手动操作才能完成。

答案3

你可以用paste我的命令行实用程序来执行此操作汉密尔顿C壳。如果这是一次性的事情,你会对免费版本我的 C shell。坦白说:我就是作者。

paste -d \0 File1.txt File2.txt > Output.txt

您的数据如下所示:

176 C% cat File1.txt
Washington|
Ohio|
Dublin|
London|
Milan|
177 C% cat File2.txt
Greg
Tom
Paul
Sharon
Bill
178 C% paste -d \0 File1.txt File2.txt
Washington|Greg
Ohio|Tom
Dublin|Paul
London|Sharon
Milan|Bill

赛格威还包括一个,paste但要使用它,您需要确保所有行都仅以换行符(\n)字符结尾,Unix 样式,而不是回车符-换行符(\r\n)组合 Windows 样式,否则您会得到以下结果:

179 C% \cygwin\bin\paste -d \0 File1.txt File2.txt
Gregington|
Tomo|
Paulin|
Sharon|
Billn|

(Cygwinpaste将 视为\r普通字符。在屏幕上,它将光标移动到行首,覆盖原有的内容。)

答案4

命令行,变量 1:

powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;$i++){$f1[$i]+$f2[$i]}>Output.txt

命令行,变量 2:

powershell $f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]^>^>Output.txt}

粘贴-d.ps1

$f1=gc File1.txt;$f2=gc File2.txt;for($i=0;$i-lt$f1.length;++$i){$f1[$i]+$f2[$i]>>Output.txt}

相关内容