两个文件,按照一个文件中的某一列筛选另一个文件中的数据

  • Post author:
  • Post category:其他


当我们手头有两个文件,一个文件很大,有很多很多行,而另一个文件比较小,现在我们需要根据两个文件的一个公共列,取出大文件中同时出现在两个文件中的那些行的所有数据。

数据解释如下:

文件A:

文件B:

我想从文件A中取出“汉字井号”分别为“孤东7-27更5186”、“孤东7-23斜更186”、“孤东7-6平1”这几行的资料。代码如下

# -*- coding: utf-8 -*-
"""
Created on Wed Nov 29 10:46:31 2017

@author: wq
"""

import pandas as pd

#input.csv是那个大文件,有很多很多行
df1 = pd.read_csv('A.csv', encoding='gbk')

#input1.csv是那个小文件,其中他们有一行或者若干行存储的特征参数相同
df2 = pd.read_csv('B.csv', encoding='gbk')

#加encoding=‘gbk’是因为文件中存在中文,不加可能出现乱码
index = df1[u'汉字井号'].isin(df2['well'])

outfile = df1[index]

outfile.to_csv('outfile.csv', index=False, encoding='gbk')

效果如下:




版权声明:本文为destiny_python原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。