Api to fetch user data


In [2]:
from lib.users import UserAPI
import csv

api=UserAPI()

userdata_file="/home/clemsos/Dev/mitras/lib/cities/usersample.csv"
# number of lines : 14,388,386 users

with open(userdata_file, 'rb') as csvfile:
    
    user_data=csv.reader(csvfile)
    csvfile.next() #skip csv header
    
    for user in user_data:
        province_code= api.get_province(user[0])
        print api.provinces[province_code]


User API instance

Connecting to MongoDB... 
Connected successfully MongoDB at localhost:27017

Total users in the db : 14388484
------------
Běijīng 北京
Běijīng 北京
Běijīng 北京
Běijīng 北京
Běijīng 北京
Běijīng 北京
Běijīng 北京
Běijīng 北京
Húnán 湖南
Běijīng 北京
Zhèjiāng 浙江
Zhèjiāng 浙江
Běijīng 北京
Běijīng 北京
Běijīng 北京
Guǎngdōng 广东
Běijīng 北京
Hǎiwài 海外
Guǎngdōng 广东
Guǎngdōng 广东
Guǎngdōng 广东
Guǎngdōng 广东
Húnán 湖南
Guǎngdōng 广东
Guǎngdōng 广东
Guǎngdōng 广东
Guǎngdōng 广东
Běijīng 北京
Běijīng 北京
Qítā 其他
Shāndōng 山东
Běijīng 北京
Běijīng 北京
Hēilóngjiāng 黑龙江
Shànghǎi 上海
Jiāngsū 江苏
Běijīng 北京
Qítā 其他
Guǎngdōng 广东
Shǎnxī 陕西
Guǎngdōng 广东
Guìzhōu 贵州
Běijīng 北京
Ānhuī 安徽
Guǎngxī 广西
Běijīng 北京
Běijīng 北京
Húnán 湖南
Shǎnxī 陕西
Héběi 河北
Guǎngdōng 广东
Jiāngsū 江苏
Shānxī 山西
Hénán 河南
Fújiàn 福建
Jiāngsū 江苏
Jiāngsū 江苏
Běijīng 北京
Húběi 湖北
Jiāngsū 江苏
Běijīng 北京
Hǎiwài 海外
Hēilóngjiāng 黑龙江
Shànghǎi 上海
Sìchuān 四川
Sìchuān 四川
Jiāngsū 江苏
Guǎngdōng 广东
Táiwān 台湾
Běijīng 北京
Zhèjiāng 浙江
Sìchuān 四川
Guǎngdōng 广东
Guǎngdōng 广东
Běijīng 北京
Chóngqìng 重庆
Fújiàn 福建
Shànghǎi 上海
Zhèjiāng 浙江
Zhèjiāng 浙江
Hǎiwài 海外
Běijīng 北京
Běijīng 北京
Guǎngdōng 广东
Guǎngxī 广西
Fújiàn 福建
Chóngqìng 重庆
Fújiàn 福建
Běijīng 北京
Guǎngdōng 广东
Shǎnxī 陕西
Héběi 河北
Běijīng 北京
Tiānjīn 天津
Běijīng 北京
Guǎngdōng 广东
Zhèjiāng 浙江
Zhèjiāng 浙江
Fújiàn 福建

Store data from CSV into Mongo

Fetch cities code from csv


In [23]:
import csv

# fetch cities

provinces_file="/home/clemsos/Dev/mitras/lib/cities/provinces.csv"
provinces={}

with open(provinces_file, 'rb') as csvfile:
    
    provinces_data=csv.reader(csvfile)
    
    for row in provinces_data:
        provinces[row[0]]=row[1]

# for index in provinces:
#     print  provinces[index]

Store users in mongo db


In [22]:
from models.user import User

# data_sample="/home/clemsos/Dev/mitras/data/datazip/others/userdata.csv"
userdata_file="/home/clemsos/Dev/mitras/lib/cities/usersample.csv"
# number of lines : 14,388,386 users

with open(userdata_file, 'rb') as csvfile:
    
    user_data=csv.reader(csvfile)
    csvfile.next() #skip csv header
    
    for row in user_data:
        # create Tweet object
        u=User()
            
        # print row[0],row[1],row[2],row[3]
        u.uid=row[0]
        u.province=provinces[row[1]]
        u.gender=row[2]
        u.verified=row[3]
        
        u.save() # store to mongo


Connecting to MongoDB... 
Connected successfully MongoDB at localhost:27017

Fetch users from Mongo DB


In [29]:
from lib.mongo import MongoDB

# Connect to Mongo
db=MongoDB("tweets").db["weibousers"]

print "Total users in the db : %d"%db.count()

def get_user(_uid):
    user=db.find_one({"uid":_uid}) #.limit(c)
    return user

def get_province(_uid):
    user=db.find_one({"uid":_uid}) #.limit(c)
    return user["province"]

result = get_province("uHRWEYSX0")
print result


Connecting to MongoDB... 
Connected successfully MongoDB at localhost:27017

Total users in the db : 198
Guǎngdōng 广东

Use API to fetch users