CSV字典用于过滤CSV文件

时间:2018-02-06 14:25:03

标签: python pandas csv numpy export-to-csv

我正在使用带有pandas和numpy的Python 3.6。  我有两个CSV文件,都不包含任何标题(因此索引是内置的)。一个是带有计算机名的一列列表: PC001 PC002 PC003 ...

另一个文件是系统的导入文件。这是一个csv文件。并且pc名称是第三列: 添加打印机,终端,PC001,东西,东西 添加打印机,终端,PC002,东西,东西 添加打印机,终端,PC003,东西,东西 ...

现在导入文件包含数千个条目,我只需要将该行复制到新的csv(将其命名为to-imported.csv),其中包含来自let的主题名称为hostnames.csv

我在这里使用它来“接近”:

np.intersect1d(df_main[2],df_key[0])

不幸的是,它只会列出在巨大的csv中找到的pc名称,但不列出包含名称的行(因此可以很容易地用新的csv编写)。

我知道这是为了我,但我也相信我会学到很多东西。所以希望有一个善良的灵魂在那里理解我想做什么并分享一些指导

1 个答案:

答案 0 :(得分:2)

在回答here后,您可以使用isin

hosts = pd.read_csv('hostnames.csv', header=None, names=['hosts'], squeeze=True)
df = pd.read_csv('import.csv', header=None, names=['a', 'b', 'host', 'c'])
result = df.loc[df['host'].isin(hosts)]

然后将结果写入包含to_csv的CSV文件。