解析用户名以提取用户位置推特
Parse User name for extracting user location Twitter
我正在尝试从 Twitter 中抓取与用户名相关的用户位置。
输入:用户列表超过50K个用户名
AkkiPritam,6.77E+17,12/15/2015,#chennaifloods
AkkiPritam,6.77E+17,12/15/2015,#bhoomikatrust
AkkiPritam,6.77E+17,12/15/2015,#akshaykumar
gischethans,6.77E+17,12/15/2015,#chennaifloods
mid_day,6.77E+17,12/15/2015,#bollywood
mid_day,6.77E+17,12/15/2015,#chennaifloods
Nanthivarman16,6.77E+17,12/15/2015,#admkfails
Nanthivarman16,6.77E+17,12/15/2015,#jayafails
Nanthivarman16,6.77E+17,12/15/2015,#stickergovt
Nanthivarman16,6.77E+17,12/15/2015,#chennaifloods
AdilaMatra,6.77E+17,12/15/2015,#chennaifloods
AdilaMatra,6.77E+17,12/15/2015,#climatechange
AdilaMatra,6.77E+17,12/15/2015,#delhichokes
AdilaMatra,6.77E+17,12/15/2015,#smog
HDFCERGOGIC,6.77E+17,12/15/2015,#chennaifloods
HDFCERGOGIC,6.77E+17,12/15/2015,#tnfloods
ImSoorej,6.77E+17,12/15/2015,#chennaifloods
ImSoorej,6.77E+17,12/15/2015,#chennaimicr
代码:我想查找地理位置可能是地理坐标。
from __future__ import print_function
import tweepy
from tweepy import OAuthHandler
from tweepy import Stream
from tweepy.streaming import StreamListener
import pandas as pd
import csv
consumer_key = 'xyz'
consumer_secret = 'xyz'
access_token = 'xyz'
access_token_secret = 'xyz'
data = pd.read_csv('user_keyword.csv')
df = ['user_name', 'user_id', 'date', 'keyword']
def get_user_details(username):
userobj = api.get_user(username)
return userobj
if __name__ == '__main__':
#authenticating the app (https://apps.twitter.com/)
auth = tweepy.auth.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
username = df['user_name']
userOBJ = get_user_details(username)
print(userOBJ.location)
错误:无法将用户名解析到程序中。
Traceback (most recent call last):
File "user_profile_location.py", line 38, in <module>
username = df['user_name']
TypeError: list indices must be integers, not str
您正在使用 'data' 来定义您的 DataFrame,'df' 用于我认为应该是 DataFrame 的列
data = pd.read_csv('user_keyword.csv')
df = ['user_name', 'user_id', 'date', 'keyword']
我假设 user_keyword.csv 文件没有 header,尝试添加:
data.columns = df
它将列名更改为存储在 df 中的值。
然后稍后代替:
username = df['user_name']
尝试:
username = data['user_name']
请记住,现在用户名是一整列,因此 get_user_details(username)
不应期待单个字符串。
我正在尝试从 Twitter 中抓取与用户名相关的用户位置。
输入:用户列表超过50K个用户名
AkkiPritam,6.77E+17,12/15/2015,#chennaifloods
AkkiPritam,6.77E+17,12/15/2015,#bhoomikatrust
AkkiPritam,6.77E+17,12/15/2015,#akshaykumar
gischethans,6.77E+17,12/15/2015,#chennaifloods
mid_day,6.77E+17,12/15/2015,#bollywood
mid_day,6.77E+17,12/15/2015,#chennaifloods
Nanthivarman16,6.77E+17,12/15/2015,#admkfails
Nanthivarman16,6.77E+17,12/15/2015,#jayafails
Nanthivarman16,6.77E+17,12/15/2015,#stickergovt
Nanthivarman16,6.77E+17,12/15/2015,#chennaifloods
AdilaMatra,6.77E+17,12/15/2015,#chennaifloods
AdilaMatra,6.77E+17,12/15/2015,#climatechange
AdilaMatra,6.77E+17,12/15/2015,#delhichokes
AdilaMatra,6.77E+17,12/15/2015,#smog
HDFCERGOGIC,6.77E+17,12/15/2015,#chennaifloods
HDFCERGOGIC,6.77E+17,12/15/2015,#tnfloods
ImSoorej,6.77E+17,12/15/2015,#chennaifloods
ImSoorej,6.77E+17,12/15/2015,#chennaimicr
代码:我想查找地理位置可能是地理坐标。
from __future__ import print_function
import tweepy
from tweepy import OAuthHandler
from tweepy import Stream
from tweepy.streaming import StreamListener
import pandas as pd
import csv
consumer_key = 'xyz'
consumer_secret = 'xyz'
access_token = 'xyz'
access_token_secret = 'xyz'
data = pd.read_csv('user_keyword.csv')
df = ['user_name', 'user_id', 'date', 'keyword']
def get_user_details(username):
userobj = api.get_user(username)
return userobj
if __name__ == '__main__':
#authenticating the app (https://apps.twitter.com/)
auth = tweepy.auth.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
username = df['user_name']
userOBJ = get_user_details(username)
print(userOBJ.location)
错误:无法将用户名解析到程序中。
Traceback (most recent call last):
File "user_profile_location.py", line 38, in <module>
username = df['user_name']
TypeError: list indices must be integers, not str
您正在使用 'data' 来定义您的 DataFrame,'df' 用于我认为应该是 DataFrame 的列
data = pd.read_csv('user_keyword.csv')
df = ['user_name', 'user_id', 'date', 'keyword']
我假设 user_keyword.csv 文件没有 header,尝试添加:
data.columns = df
它将列名更改为存储在 df 中的值。 然后稍后代替:
username = df['user_name']
尝试:
username = data['user_name']
请记住,现在用户名是一整列,因此 get_user_details(username)
不应期待单个字符串。