python - 用于过滤 CSV 文件的 CSV 字典

标签 python pandas csv numpy export-to-csv

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

另一个文件是系统的导入文件。这是一个 csv 文件。电脑名称是第三列: 添加打印机、终端、PC001、某事、某事 添加打印机、终端、PC002、某事、某事 添加打印机、终端、PC003、某事、某事 ...

现在导入文件包含数千个条目,我只需要将行复制到新的 csv(将其命名为 to-be-imported.csv),其中包含来 self 们称之为 hostnames.csv 的电脑名称

我在这里使用这个“接近”:

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

不幸的是,它只会列出在巨大的 csv 中找到的电脑名称,但不会列出包含该名称的行(因此可以轻松地将其写入新的 csv)。

我知道这对我来说是进步,但我也确信我会学到很多东西。所以希望有一个善良的人理解我想做的事情并分享一些指导

最佳答案

已回答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)]

然后将结果写入 CSV 文件 to_csv .

关于python - 用于过滤 CSV 文件的 CSV 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48645262/

相关文章:

Python/ Pandas : data frame from series of dict: optimization

python - Pandas :如何在彼此之上绘制年度数据

python - 如果列表中的列存在于 Python Pandas 的 DataFrame 中,如何将 DataFrame 中除列表中的列之外的所有列置于上方?

python - Django 预取嵌套表

python - 处理(排队)对调用速率受限的外部 API 的 Web 服务的请求

javascript - 带有外部 CSV 的 Highchart(在外部域中)

python - 使用boto3 python计算s3中csv文件的行数

ruby-on-rails - 事件记录导入正在创建重复记录

python - 网格搜索CV : How to specify test set?

python - Pivot 将行复制到新列 Pandas