美文网首页
4 Pandas 处理excel复杂列转化为多行 2020080

4 Pandas 处理excel复杂列转化为多行 2020080

作者: avyhlj | 来源:发表于2020-08-07 18:54 被阅读0次

1 业务背景


1.png

2 解决方法

#导入包
import pandas as pd
import struct
import socket
#1 导入数据
data = pd.read_excel('./python_explode.xls',sheet_name ='Sheet1')
2.png
#2 计算两个IP段之间的有效IP地址
def findIPs(start, end):
    ipstruct = struct.Struct('>I')
    start, = ipstruct.unpack(socket.inet_aton(start))
    end, = ipstruct.unpack(socket.inet_aton(end))
    return [socket.inet_ntoa(ipstruct.pack(i)) for i in range(start, end+1)]

#print(findIPs('111.111.111.0', '111.111.111.3'))

data['ips'] =''
for i in range(len(data)): 
    data['ips'] [i] = findIPs(data['起始IP地址(*)'][i], data['终止IP地址(*)'][i])
#3 将ips复杂多列转多行 
data_explode = data.explode('ips')

3 结果


3.png

相关文章

网友评论

      本文标题:4 Pandas 处理excel复杂列转化为多行 2020080

      本文链接:https://www.haomeiwen.com/subject/cdrqdktx.html