python - 使用导入的 CSV 文件(熊猫)创建列表/字典,以便我可以使用网络抓取工具引用变量
问题描述
我想使用 Pandas 将具有各种 Twitter 句柄的 CSV 文件导入 Python,然后为每个“用户名”(Twitter 句柄)分配一个变量,我可以在不同的代码(网络爬虫)中调用该变量来检索追随者。
我正在积极尝试尽可能多地学习,所以我不喜欢所有这些的整个代码,只是我如何能够使用 CSV 文件创建可行的变量。这样我就可以通过这一步并开始我剩下的学习,但我只是非常卡在这里。
(提前非常感谢你,我在学习 Python 方面度过了一段美好的时光,但我很犹豫,因为我觉得我可能在这里超出了我的知识领域并超越了自己,但我已经掉进了一个兔子洞它似乎)
这是我到目前为止的代码 - 调用 CSV 文件
# import the module
import tweepy
import pandas as pd
import pandas
df = pd.read_csv(r'C:\Users\Rob\Desktop\Python Learning\contentinfo.csv')
print(df)
然后我收到的输出就是这个
Username
0 Obey_Memorii
1 Kingstaxy
2 ParamoreNA
3 Navin
4 ObeyCayd
5 edns
6 LeonBackwardsTV
7 SHORTYPlE
8 Papa_Richh
9 cleggnation
10 xMethy
11 Ahspect
12 KarizMaInc
13 DuncanMors
14 ObeyGrave
15 JustifiedJack
16 mattythebae
17 CyborgLive
18 Legendof_Ti
19 ConnorSparky
20 Nuka Dilucca
21 Toari
22 Paavs
23 Elevated
24 BFRocket
25 END OF LIST
解决方案
我将使用循环遍历用户列表,for
并在用户名的循环中执行一些函数,如process_user()
下面的函数:
import pandas as pd
# tweepy processing function
def process_user(username):
print(f'processing: {username}')
# your logic here
users = pd.read_csv('./twitter_users.csv')
# loop through the users and do stuff
for user in users['Username']:
process_user(user)
您也不需要为此使用熊猫(如果只是为了打开文件,我不会):
import csv
def read_csv(path, fieldnames=None, delimiter=','):
'''return a list of dictionaries
'''
with open(path, 'r') as file:
reader = csv.DictReader(file, fieldnames, delimiter=delimiter)
return [dict(row) for row in reader]
# tweepy processing function
def process_user(username):
print(f'processing: {username}')
# your logic here
users = read_csv('./twitter_users.csv') # or your file path
# loop through the users and do stuff
for user in users:
process_user(user['Username'])
输出:
processing: Obey_Memorii
processing: Kingstaxy
processing: ParamoreNA
processing: Navin
processing: ObeyCayd
processing: edns
processing: LeonBackwardsTV
processing: SHORTYPlE
processing: Papa_Richh
processing: cleggnation
processing: xMethy
processing: Ahspect
processing: KarizMaInc
processing: DuncanMors
processing: ObeyGrave
processing: JustifiedJack
processing: mattythebae
processing: CyborgLive
processing: Legendof_Ti
processing: ConnorSparky
processing: Nuka Dilucca
processing: Toari
processing: Paavs
processing: Elevated
processing: BFRocket
processing: END OF LIST
推荐阅读
- r - 单独添加元素时 ggplot2 中的图例
- c - 将字符串中的字符转换为 ASCII
- react-native - 带有反应原生地图的动态 API KEY
- node.js - 不能在 NodeJs 中要求一个类?
- angular - Show list depending on search results angular
- java - Java:操作数字中的位
- java - Java-Output all the columns and rows of a ResultSet
- html - 如何在 servlet 页面中的 java 代码之前执行 HTML 表单?或者如何安排响应打印机内的html标签和标签?
- r - 错误 r:简单回归中的无效下标类型“闭包”
- java - 我使用 xpath 找到了注册按钮,但它显示了 2 个匹配的节点。如何唯一标识注册按钮