首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从csv中拆分八位字节的ip地址

如何从csv中拆分八位字节的ip地址
EN

Stack Overflow用户
提问于 2019-05-16 04:47:02
回答 1查看 94关注 0票数 0

我正在尝试获取IP日志列表( CSV格式),删除所有重复的地址,然后将其分割为单独的八位字节,并将其存储在列表中。我将最终添加检查子网重复(同一子网中的相同ip ),但我被困在这里。CSV文件中有额外的信息,但我已经很长时间没有编码了,所以我现在主要只关注IP。我不在乎我会不会丢失剩下的信息。

我最初尝试设置字符块(例如,取字符0-2为第一位,4-6为第二位,以此类推)但如果八位字节少于3位,这显然不起作用。然后我尝试使用re.split来拆分八位字节,但是它说它不接受字符串(由于某种原因)。然后,我尝试了当前代码中的内容,但使用了blah=int(fin.append(lst[each].re.split(r".",int))),但由于intiger中的句号,这将不起作用。

代码语言:javascript
运行
复制
import pandas
import re

#set column names and input the data
colnames = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven']
data = pandas.read_csv(r'C:\Users\xxx\Desktop\Projects\Find the IPs\tiny version.csv', names=colnames)

#tell which column to read from then put in list called "lst" 
ip = data.five.tolist()
lst = list(dict.fromkeys(ip))

#create final list
fin = []
#for every entry in lst, split it up at the periods, then add it to fin
for each in lst:
    print("I got here")
    blah = lst([each]).re.split(r".",int)


    fin.append(blah)

现在,我希望有一个列表,每个条目都包含所有四个八位字节作为整数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-16 05:33:01

如果您需要将ip地址拆分为单独的八位字节,请尝试以下操作:

代码语言:javascript
运行
复制
ip = '192.168.1.70'

v = [int(x) for x in ip.split('.')]
print(v) 

输出:

代码语言:javascript
运行
复制
[192, 168, 1, 70]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56157394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档