pandas 改变DataFrame的列的类型

最近爬取了一个外国网站,爬取的内容要保存到excel内,但是保存的格式出了问题,正常是用过一个字段一个sheet,但是最后出结果时有三个字段被放放到一个字典内,成了一个sheet,本来4个sheet结果成了2个sheet。就想到用pandas来进行数据操作。

错误格式:

正确的格式:

 思路:

先单独拿出需要改变的这一列,然后使用tolist()这个函数将其变成列表a,再重新定义一个新列表b。然后使用for循环列表a,将循环出来的i变成json格式,在逐一定义,最后将定义的字段以列表的格式赋给变量c,在使用append将c添加到列表b,然后将列表b定义为pandas的DataFrame格式,最后使用concat()函数,将原本excel的第一个sheet与b进行拼接。

附上代码:

import pandas as pd

import json

df=pd.read_excel('text.xlsx')#导入excel文件

a=df['url'].tolist()#变成列表

b=[]

for i in a:

    i=i.json.loads(i)#变成json格式

    url=i['url']

    title=i['title']

    design=i['designer']

    c=[url,title,design]

    b.append(c)

    b=pd.DataFrame(b)

    s=pd.concar([df['pic'],b],axis=1)

    s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值