我有两个看起来像这样的CSV文件..
CSV 1
reference | name | house
----------------------------
2348A | john | 37
5648R | bill | 3
RT48 | kate | 88
76A | harry | 433
CSV2
reference
---------
2348A
76A
使用Python和CSVkit我试图通过将它与CSV2进行比较来创建CSV1中行的输出CSV。有没有人可以指出我的方向?
答案 0 :(得分:1)
我建议使用pandas
来实现您的目标:
以下是使用pandas的简单方法,请考虑你的两个csv文件是这样的:
<强>
CSV1
强>
reference,name,house
2348A,john,37
5648R,bill,3
RT48,kate,88
76A,harry ,433
<强>
CSV2
强>
reference
2348A
76A
<强>代码强>
import pandas as pd
df1 = pd.read_csv(r'd:\temp\data1.csv')
df2 = pd.read_csv(r'd:\temp\data2.csv')
df3 = pd.merge(df1,df2, on= 'reference', how='inner')
df3.to_csv('outpt.csv')
<强> output.csv 强>
,reference,name,house
0,2348A,john,37
1,76A,harry ,433
答案 1 :(得分:0)
我建议使用 csvkit
中的 csvjoin 之类的工具pip install csvkit
$ csvjoin --help
usage: csvjoin [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
[-p ESCAPECHAR] [-z MAXFIELDSIZE] [-e ENCODING] [-S] [-v] [-l]
[--zero] [-c COLUMNS] [--outer] [--left] [--right]
[FILE [FILE ...]]
示例: 左加入[参考]
的列csvjoin --columns "reference" --left CSV1.csv CSV2.csv