# -*- coding: utf-8 -*-
# @Time : 2018/7/6 17:10
# @Author :
# @File :
# @Description :
import pandas as pd
import pymongo
pd.set_option('expand_frame', False)
MONGO_URI = 'mongodb://XXX:XXX'
MONGO_DB = 'LogData'
MONGO_TABLE = 'LogData'
client = pymongo.MongoClient(MONGO_URI)
db = client[MONGO_DB]
def get_data_from_queue(queueName):
data = pd.DataFrame(list(db[MONGO_TABLE].find({'queueName': queueName})))
return data
def select_data_from_queue(df, queueName, output_filename):
print('正在处理queue:', queueName)
ser = df['Contact_Alias'].notnull().value_counts()
print('Contact_Alias不为空的数据为:', ser.loc[True])
print('Contact_Alias为空的数据为:', ser.loc[False])
# Contact_Alias 不为空的情况
df_alias_not_null = df[df['Contact_Alias'].notnull()]
# Contact_Alias 为空, Contact_QuanPin 不以wxid开头的情况
df_alias_is_null = df[df['Contact_Alias'].isnull() & df['Contact_QuanPin'].notnull()]
condition = df_alias_is_null['Contact_QuanPin'].apply(lambda x: not x.startswith('wxid'))
df_auxiliary = df_alias_is_null[condition]
print('通过Contact_QuanPin新增数据:', len(df_auxiliary))
df_output = pd.concat([df_alias_not_null, df_auxiliary], axis=0)
df_output = df_output[['phone', 'Contact_Alias', 'Contact_QuanPin']]
df_output.reset_index(inplace=True, drop=True)
num = len(df_output)
print('最终输出数据条数;', num)
print()
fill_values = df_output.loc[(df_output['Contact_Alias'].isnull()), 'Contact_QuanPin'].values
df_output.loc[(df_output['Contact_Alias'].isnull()), 'Contact_Alias'] = fill_values
# print(df_output)
df_output.to_csv('./data/' + output_filename + '_wechat_' + str(num) + '.txt', columns=['phone', 'Contact_Alias'],
header=None, index=False, sep='\t')
def run(queueName, output_filename):
df = get_data_from_queue(queueName)
select_data_from_queue(df, queueName, output_filename)
if __name__ == '__main__':
run('qbrq_1000', output_filename='XXXX')
PD操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 肿瘤免疫疗法方案是最新的抗癌治疗,也是当前肿瘤治疗领域中最具前景的研究方向之一,各大药企纷纷寻求与其他公司合作研发...
- 正面管教的课程内容都有什么? 正面管教系统课程正是为解决家长对孩子管教的各种挑战而设。 真实事件的角色演绎,感同身...