-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathfilter_pandas.py
executable file
·94 lines (86 loc) · 9.42 KB
/
filter_pandas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import os
import pandas as pd
# Пример фильтрации. На больших данных и при мощном железе, фильтрация вешает документ (libreoffice, ms office, etc.)
# Полезно при фильтрации уже склеенного но сырого выхлопа от поиска VK
# Пример склейки в Win: type *.csv > merge_csv.csv
# Пример склейки в Linux: cat *.csv > merge_csv.csv
# папка с файлами
folder = '/home/mikedigriz/github/social-media-toolkit/files'
# формируем список путей к файлам
files = os.listdir(folder)
# сюда будем добавлять прочитанную таблицу
all_file_frames = []
for f in files:
print('Reading %s' % (folder + '/' + f))
tab = pd.read_excel(folder + '/' + f)
tab = pd.DataFrame(tab)
filtered_df = tab.query('Подписчиков >= 5000')
# исключаем 'мусорные' паблики по фильтру
filtered_df = filtered_df[filtered_df["Название сообщества"].str.contains('автобарахолка|автозапчасти|автозвук|'
'авторазбор|автошкола|аксессуары|'
'александр|аниматоры|арт|база|бу|букеты|'
'вейп|видеограф|видеосъемка|волос|вписки|'
'выкуп|газета|гелиевые|грузоперевозки|'
'деньги|детский|дизайн|додо|дома|'
'дтп|еды|жизнь|жилье|закупки|запчасти'
'|игрушки|интернет|карту|кафе|квартиры'
'|квесты|кино|кинотеатр|компьютеров'
'|конкурсы|косметика|красивые|кредит'
'|куда|купе|магазинов|макияж|маникюр'
'|массаж|мебели|микронаушники|мишки'
'|мото|музей|нижнее|ноутбуков|обмен|обувь'
'|обучение|одежды|окна|остров|отдыха|'
'оформление|печать|пиар|питание|платья|'
'плюшевые|подарки|поиск|попутчик|пособия'
'|посредников|постельное|посуточно'
'|праздники|признавашки|продать|прокат'
'|промокод|промокоды|радио|резюме|ресниц'
'|ресторан|свадебные|свадьба|свадьбу|'
'светофор|сдам|сдать|секс|скидки|скупка'
'|советские|союз|строительство|такси|'
'тамада|таро|татуаж|театр|телефонов|'
'ткани|товары|торты|трц|тур|турагентство'
'|тюнинг|уничтожение|фестиваль|фк|фонд'
'|фотостудия|химчистка|холсте|церковь|'
'чайковский|чёрный|шарики|шашлык|шкафы|'
'шоппинг|шоу|шугаринг|экскурсии|юриста'
'|яндекс|apple|club|fm|group|iphone|pro'
'|shop|studio|tattoo|объявления|модель|'
'авторынок|фотограф|продам|доставка|'
'мебель|ремонт|отдам|куплю|аренда|'
'свадебный|заказ|даром|недвижимость'
'|садоводы|фермеры|мастер|продажа|'
'студия|тату|потолки|натяжные|кухни|'
'попутчики|туры|салон|smm|ведущий|aznona'
'|seo|рыбалка|наращивание|купить|'
'совместные|фото|рынок|покупки|квартиру'
'|детская|арзамас|бугульма|сервис|бар|'
'пиццы|недвижимости|бюро|курсы|music|'
'татуировка|бани|животным|эпиляция'
'|лазерная|модели|мастерская|обменяю'
'|автосервис|комплекс|бельё|грибы|колясок'
'|покупка|картины|егэ|музыка|квест|ногтей'
'|потеряшки|бизнес|отель|розыгрыши|dance'
'|биты|дешево|педикюр|бургер|грузчики|'
'садовод|букетов|татуировки|техника|'
'автоподбор|аптека|прически|игрушек|'
'носки|шахты|тонировка|брови|медведи|'
'турфирма|строитель|дпс|розы|праздник|'
'чехии|клиника|приют|служба|депиляция|'
'магия|банк',
case=False, na=False) == False]
last_step = filtered_df.sort_values(by='Подписчиков', ascending=False)
filename = {'ID': [f.replace('.xlsx', '')],
'Ссылка': [''],
'Название сообщества': [''],
'Подписчиков': [''],
'Тип': [''],
'Приватное сообщество(1-да)': [''],
'Стенка(0-выкл,1-вкл,2-ограничена,3-закрыта)': [''],
'Личка(1-да)': ['']}
title = pd.DataFrame(filename)
all_file_frames.append(title)
all_file_frames.append(last_step)
all_frame = pd.concat(all_file_frames, axis=0)
# получим файл final_file.xlsx в os.getcwd()
all_frame.to_excel('/home/mikedigriz/github/social-media-toolkit/files/final_file.xlsx', index=False)