Сейчас работал с задачками на python
с поиском чего либо. Если нужно было найти что-то в файле, то использовал что-то типа: открыть файл, забить в переменную чтение файла, а потом перебирал, и если нужное мне слово было в файле, то выводил на экран. Но не могу реализовать следующую задачу:
есть ряд файлов csv
формата, называются они 093
, 063
, 053
.
В них первый столбик номер телефона, второй имя и нужно вывести на экран, если заданный номер есть в одном из файлов. Помогите с реализацией плиз.
Анонимный пользователь Изменен статус публикации
Пример:
import pandas as pd from pathlib import Path def read_them_all(files, **kwargs): return pd.concat([pd.read_csv(f, **kwargs) for f in files], ignore_index=True) p = Path(r'/path/to/directory/with/csv') phones = [930000017, 930000056] df = read_them_all(p.glob('*.csv')) print(df.query("A in @phones"))
Проверил на двух маленьких CSV файлах:
1.CSV:
A,B 930000001,Dima 930000010,Vanya
2.CSV:
A,B 930000017,Sasha 930000029,Andrey 930000056,Vitya
Тест:
In [43]: p = Path(r'D:\temp\.data\787286') In [44]: df = read_them_all(p.glob('*.csv')) In [45]: df Out[45]: A B 0 930000001 Dima 1 930000010 Vanya 2 930000017 Sasha 3 930000029 Andrey 4 930000056 Vitya In [46]: phones = [930000017, 930000056] In [47]: print(df.query("A in @phones")) A B 2 930000017 Sasha 4 930000056 Vitya