pandas处理excel的几列转化为字典格式

'''
处理表格并将作者与作者id形成一个字典格式,以便第二步直接根据作者名称直接拿作者id
'''
import pandas as pd
import json
# 读取excel文件并读取其中指定的工作表,并指定第几行为列名
df = pd.read_excel('year2020-2000authors.xlsx',sheet_name='Sheet2',header= 0)
# 取出需要处理的三列
data = pd.DataFrame(df,columns=['Authors','ID','DOI'])
# 读取文件列名
title = data.columns
# 获取行的索引
items = {}
for i in data.index.values:
    # 根据一行的索引取出一行的数据并根据title转化成字典
    df_dict = df.loc[i, title].to_dict()
    Authors = df_dict.get('Authors').split(',')
    ID = df_dict.get('ID').split(';')
    # 处理列表中的空字符串
    ID = list(filter(None,ID))
    for j in range(len(Authors)):
        Authorid = ID[j]
        Author = Authors[j]
        items[Author] = Authorid
itemsz = json.dumps(items)
with open('./authorid.json','w',encoding='utf-8') as f:
    f.write(itemsz)
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值