查詢出兩個文件中不同的資料

2021-07-27 16:19:48 字數 1438 閱讀 2752

爬取twitter資料產生了如下文件,我是根據使用者id來爬取的資料,所得到的檔名也設定為使用者的id_tweets,所有檔案放在了乙個資料夾下。

而我用來抓取資料的id放在了乙個csv檔案下。現在要做的就是匯入這個資料夾下的已經爬取的使用者id號與csv下的所有的使用者id號來進行對比,找出其中沒有被爬取的使用者id,進而再次進行爬取。

用python實現以上過程,程式如下:

# coding=utf-8

function recfilename

功能:得到資料夾中檔名組成的列表

輸入:輸出:

l:檔名組成的列表

import os

import csv

import re

import numpy as np

l =

n =

def recfilename(file_dir):

for root, dirs, files in os.walk(file_dir):

for filename in files:

#   if os.path.splitext(file)[1] == '.jpeg':

#   將字串傳喚成整型

def scvfilename(file_dir):

with open(file_dir, 'rb') as f:

id = csv.reader(f)

for row in id:

#   if os.path.splitext(file)[1] == '.jpeg':

if __name__ == '__main__':

# scvfilename('e:/file/twitteruserid7118.csv')

# recfilename('e:/file/6416')

c =

scvfilename('e:/file/twitteruserid7118.csv')

recfilename('e:/file/6416')

print ('l', l)

print ('n', n)

c = list(set(n).difference(set(l)))

print ('c', c)

for j in c:

print j

首先定義了兩個全域性變數ln用來存放資料的陣列

然後分別定義了兩個方法,其中recfilename用來讀入已經爬取的使用者id到陣列l中,scvfilename用來讀入csv檔案中的所有使用者的id號到陣列n中。

之後再定義乙個陣列c,用指令  c = list(set(n).difference(set(l)))將陣列n與陣列l比較後的資料傳入到c中。

由於傳入c中的資料我還有拿來重新抓取資料,所以我將輸出的c的資料按列輸出,即print j,然後再將所輸出的使用者id複製到csv文件中,當然這後續的步驟動動滑鼠就可以自行完成了。

找出兩個List 中不同的元素

public class collectionutil 找出兩個集合中不同的元素 param collmax param collmin return public static collection getdifferent collection collmax,collection collmi...

找出不同的兩個數

有一組數,只有兩個不同的數,其他的數都有乙個相同的數,a1,a1,a2,a2,a3,a3,a4,a4,b,c,a5,a5.找出b,c.把陣列分成兩組a1,a1,a2,a2,b,和 a3,a3,a4,a4,c,然後,分別各自異或,即可得到b,c include using namespace std ...

高效的找出兩個List中的不同元素

千萬不要採用這種方法,總共要迴圈的次數是兩個list的size相乘的積,從輸出看耗時也是比較長的,那麼我們有沒有其他的方法呢?當然有.無需解釋這個耗時是必然的,那麼我們還有沒有更好的辦法呢?仔細分析以上兩個方法中我都做了mxn次迴圈,其實完全沒有必要迴圈這麼多次,我們的需求是找出兩個list中的不同...