我有一个这样的data.txt
16.37.235.153|119.222.242.130|38673|161|17|62|4646|
16.37.235.153|119.222.242.112|56388|161|17|62|4646|
16.37.235.200|16.37.235.153|59009|514|17|143|21271|
我想使用以下形式获取列表:
list=[['16.37.235.153','119.222.242.130',38673,161,17,62,4646]
['16.37.235.153','119.222.242.112',56388,161,17,62,4646]
['16.37.235.200','16.37.235.153',59009,514,17,143,21271]]
我尝试将numpy.genfromtxt与dtype = None一起使用,但随后得到:
VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.
list = numpy.genfromtxt('results.rw', dtype=None, delimiter = '|')
这是列表:
[['8.254.200.14' 'False']
['8.254.200.14' 'False']
['8.254.200.46' 'False']
...
['217.243.224.144' 'False']
['217.243.224.144' 'False']
['217.243.224.144' 'False']]
感谢所有帮助,在此先感谢您。
问候 :)
参考方案
In [71]: txt = '''16.37.235.153|119.222.242.130|38673|161|17|62|4646|
...: 16.37.235.153|119.222.242.112|56388|161|17|62|4646|
...: 16.37.235.200|16.37.235.153|59009|514|17|143|21271|
...: '''
该encoding
警告是令人讨厌的,但并不重要。
使用dtype = None,您应该获得一个结构化的数组,每列一个field
:
In [74]: data = np.genfromtxt(txt.splitlines(), encoding=None, dtype=None,delimiter='|')
In [75]: data
Out[75]:
array([('16.37.235.153', '119.222.242.130', 38673, 161, 17, 62, 4646, False),
('16.37.235.153', '119.222.242.112', 56388, 161, 17, 62, 4646, False),
('16.37.235.200', '16.37.235.153', 59009, 514, 17, 143, 21271, False)],
dtype=[('f0', '<U13'), ('f1', '<U15'), ('f2', '<i8'), ('f3', '<i8'), ('f4', '<i8'), ('f5', '<i8'), ('f6', '<i8'), ('f7', '?')])
这是1天。
并作为列表(或元组)的列表
In [76]: data.tolist()
Out[76]:
[('16.37.235.153', '119.222.242.130', 38673, 161, 17, 62, 4646, False),
('16.37.235.153', '119.222.242.112', 56388, 161, 17, 62, 4646, False),
('16.37.235.200', '16.37.235.153', 59009, 514, 17, 143, 21271, False)]
看起来它用布尔值|
填充了最后一个字段(在最后一个False
之后)。可以使用某些filling
参数来更改。
或限制usecols忽略它
In [77]: data = np.genfromtxt(txt.splitlines(), encoding=None, dtype=None,delimiter='|',u
...: secols=range(7))
In [78]: data
Out[78]:
array([('16.37.235.153', '119.222.242.130', 38673, 161, 17, 62, 4646),
('16.37.235.153', '119.222.242.112', 56388, 161, 17, 62, 4646),
('16.37.235.200', '16.37.235.153', 59009, 514, 17, 143, 21271)],
dtype=[('f0', '<U13'), ('f1', '<U15'), ('f2', '<i8'), ('f3', '<i8'), ('f4', '<i8'), ('f5', '<i8'), ('f6', '<i8')])
在返回'Response'(Python)中传递多个参数 - python我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…
Python exchangelib在子文件夹中读取邮件 - python我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…
R'relaimpo'软件包的Python端口 - python我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。
如何用'-'解析字符串到节点js本地脚本? - python我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…
TypeError:'str'对象不支持项目分配,带有json文件的python - python以下是我的代码import json with open('johns.json', 'r') as q: l = q.read() data = json.loads(l) data['john'] = '{}' data['john']['use…