假设您有一个包含 2 个字段的 CSV 文件:ID 和电子邮件。您还有另一个包含 2 个字段的文件:电子邮件和姓名。您如何生成一个所有三个字段都加入电子邮件的文件?
Tgr*_*Tgr 36
使用csvkit:
csvjoin -c email id_email.csv email_name.csv
Run Code Online (Sandbox Code Playgroud)
或者
csvjoin -c 2,1 id_email.csv email_name.csv
Run Code Online (Sandbox Code Playgroud)
hyp*_*lug 33
修订版 3:
您必须按字母顺序对电子邮件中的两个列表进行排序,然后加入。鉴于电子邮件字段是 file1 的第二个字段和 file2 的第一个字段:
sort -t , -k 2,2 file1.csv > sort1.csv
sort -t , -k 1,1 file2.csv > sort2.csv
join -t , -1 2 -2 1 sort1.csv sort2.csv > sort3.csv
Run Code Online (Sandbox Code Playgroud)
参数意义
-t , : ',' 是字段分隔符 -k 2,2 : 第二个字段的字符排序 -k 1,1 :第一个字段的字符排序 -1 2 : 文件 1,第二个字段 -2 1 : 文件 2,第一个字段 > : 输出到文件
产生
电子邮件,ID,姓名 电子邮件,ID,姓名 ...
按字母顺序按电子邮件排序。
请注意,如果任一文件中缺少任何电子邮件,结果中都会忽略该电子邮件。
也许这有点矫枉过正,但您可以将两种表格导入到数据库(例如 OpenOffice Base)中,并定义作为所需输出的报告。
如果 CSV 导入有问题,则可以使用电子表格程序(例如 OpenOffice Calc)进行导入。然后可以轻松地将结果传输到数据库。
| 归档时间: |
|
| 查看次数: |
38126 次 |
| 最近记录: |