您的位置:首页 > 编程语言 > Python开发

python项目:获取微信好友信息(二)csv数据读取与处理

2016-11-03 23:41 826 查看
本文将记录对知乎专栏中的一篇小项目,自己尝试中所遇到的问题。

知乎链接:https://zhuanlan.zhihu.com/p/21967333

代码中:对csv文件读取,并利用pandas库处理,统计出好友信息。

pandas库安装:pip  install pandas

测试环境为python3

完整代码如下。

import pandas as pd

df = pd.read_csv('friend2_v2.csv', encoding="ISO-8859-1") # 奇怪的编码

def city():
"""微信朋友圈的城市"""
address = df['city'].value_counts() # city
print(address)

def gender():
"""微信朋友的性别比例
1:男 2:女 3:未知
"""
gender = df['male'].value_counts() # male
print(gender)

def star():
"""星标好友
1:星标 0:非星标
"""
star = df['star'].value_counts() # star
print(star)

def remark():
remark = df['remark'] # remark MemberCount
name = df['name'] # name
star = df['star']
print('type(remark)', type(remark))

remarkCount = 0
maleCount = 0
femaleCount = 0
for i in range(1, len(remark)):

if star[i] != 'nan' or star[i] != '':

if str(remark[i]).strip() == str(name[i]).strip() or remark[i] == 'noremark': # remark[i] == 'noremark'
remarkCount = remarkCount + 1 # 不认识的人,没有备注
else:
if judgeGender(i) == 'male':
maleCount = maleCount + 1
elif judgeGender(i) == 'female':
femaleCount = femaleCount + 1
print('微信总朋友人数:', str(len(remark)), '\n未标记的人数:', remarkCount, '\n')
print('预计认识的总人数:', str(len(remark) - remarkCount), '\n')
print('认识的人中汉子人数:', maleCount, '妹子人数:', femaleCount)

def judgeGender(index):
"""判断传入的某个位置的用户的性别
参数:int行
返回结果:字符串
"""
gender = df['male']
if gender[index] == 1: # 不要‘1’这样
return 'male'
elif gender[index] == 2:
return 'female'
else:
return 'unknown'

if __name__ == '__main__':
remark()

在尝试过程中,问题主要会出现在编码问题上,详见:http://blog.csdn.net/qwerty200696/article/details/53016243
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  csv 编码 微信 python