当我们手头有两个文件,一个文件很大,有很多很多行,而另一个文件比较小,现在我们需要根据两个文件的一个公共列,取出大文件中同时出现在两个文件中的那些行的所有数据。
数据解释如下:
文件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 版权协议,转载请附上原文出处链接和本声明。