python - Python pandas,遍历数据框行
问题描述
我想遍历数据框的行,我已经从 Excel 文件中读取了这个数据框,它有 3 列,我尝试获取每一行的数据并将其转换为字典,然后将其存储在列表中。
字典格式:{"subreddit_group": string, "links/caption": list, "Subreddits/flair": list}
我的代码:
data_list = []
linkcap_list = []
subredditflair_list = []
grp = ""
data = pd.read_excel("data.xlsx")
df = pd.DataFrame(data, columns=["subreddit_group", "links/caption", "subreddits/flair"])
data_raw = {}
for index, row in df.iterrows():
grp = row["subreddit_group"]
elms = row['links/caption'].split(",,")
for elm in elms:
elm_linkcap = {}
try:
link, cap = elm.split("^")
elm_linkcap = {"link": link, "caption": cap}
linkcap_list.append(elm_linkcap)
except ValueError as e:
elm_linkcap = {"link": elm, "caption": "none"}
linkcap_list.append(elm_linkcap)
elms = row['subreddits/flair'].split(",")
for elm in elms:
elm_subredditflair = {}
try:
subreddit, flair = elm.split("^")
elm_subredditflair = {"subreddit": subreddit, "flair": flair}
subredditflair_list.append(elm_subredditflair)
except ValueError as e:
elm_subredditflair = {"subreddit": elm, "flair": "none"}
subredditflair_list.append(elm_subredditflair)
data_raw = {"group": grp, "links_caps": linkcap_list, "subreddits_flairs": subredditflair_list}
data_list.append(data_raw)
我想在每一行中获取该列的值,但是每次我遍历一行时,我都会得到整列的值,我尝试在列名之后添加一个索引来访问特定的单元格,但是我得到了一个奇怪的结果,例如这样:
row['links/caption'][1]
如何遍历数据框行并访问每列的值,而不是整列的值,我希望我的问题足够清楚,谢谢。编辑1:使用元组。
data_list = []
linkcap_list = []
subredditflair_list = []
grp = ""
data = pd.read_excel("data.xlsx")
df = pd.DataFrame(data, columns=["subreddit_group", "links/caption", "subreddits/flair"])
data_raw = {}
for row in df.itertuples():
print(row)
grp = row[1]
elms_linkscaps = row[2].split(",,")
elms_subredditsflairs = row[3].split(",")
print(elms_subredditsflairs)
print(elms_linkscaps)
exit()
for elm in elms_linkscaps:
elm_linkcap = {}
try:
link, cap = elm.split("^")
elm_linkcap = {"link": link, "caption": cap}
linkcap_list.append(elm_linkcap)
except ValueError as e:
elm_linkcap = {"link": elm, "caption": "none"}
linkcap_list.append(elm_linkcap)
for elm in elms_subredditsflairs:
elm_subredditflair = {}
try:
subreddit, flair = elm.split("^")
elm_subredditflair = {"subreddit": subreddit, "flair": flair}
subredditflair_list.append(elm_subredditflair)
except ValueError as e:
elm_subredditflair = {"subreddit": elm, "flair": "none"}
subredditflair_list.append(elm_subredditflair)
data_raw = {"group": grp, "links_caps": linkcap_list, "subreddits_flairs": subredditflair_list}
data_list.append(data_raw)
解决方案
推荐阅读
- entity-framework-core - 在连接中获取导航属性的值
- jquery - 为什么onclick javascript删除不起作用?
- c# - 在最后两个标签 git 之间导出文件
- sql - SQL - 将 4 列合并为一个新列作为单个 JSON 对象
- reactjs - AWS cognito sso 用户身份验证与 django rest 框架、react js 和 ALB
- android - 清单合并失败:问题解决没有奏效
- java - 任务:app:kaptDebugKotlin FAILED(错误:找不到符号) - Kotlin
- mysql - 将 Codeigniter 项目上传到 Cpanel subdmoin 会导致 DNS_Probe_Error
- laravel - 如何在laravel中使用代码索引特定数据库的表列
- javascript - 功能顺序是否有保证?