【发布时间】:2020-12-07 03:38:45
【问题描述】:
这似乎微不足道,但我在研究如何将 ping somedomain.com 的结果存储到 Pandas Dataframe 对象时遇到了障碍。
我尝试过使用 pingparsing 和 pythonping 等模块,但没有成功。
目标:
硬编码一个 ping 目标(即:ping_target = 'google.com')
将 ping 目标的结果发送到数据框对象
使用 pandas 提取数据(即:pd.describe(ping_results))
我尝试了什么
import pingparsing
import json
import numpy as np
import pandas as pd
from textwrap import dedent
parser = pingparsing.PingParsing()
ping_parser = pingparsing.PingParsing()
transmitter = pingparsing.PingTransmitter()
transmitter.destination = "google.com"
transmitter.count = 10
result = transmitter.ping()
stats = parser.parse(dedent(result))
# This "should" return each icmp_reply from the stats object.
for icmp_reply in stats.icmp_replies:
print(icmp_reply)
错误
<ipython-input-36-b7c7a41d50df> in <module>
14 transmitter.count = 10
15 result = transmitter.ping()
---> 16 stats = parser.parse(dedent(result))
17
18
C:\ProgramData\Anaconda3\lib\textwrap.py in dedent(text)
428 # all lines.
429 margin = None
--> 430 text = _whitespace_only_re.sub('', text)
431 indents = _leading_whitespace_re.findall(text)
432 for indent in indents:
TypeError: expected string or bytes-like object```
## Note
I'm not stuck on using this pingparsing module and would prefer a more organic way using python stdout but want to see if this can be possible without parsing heavily using regex. Ideally I'd want to use as much vanilla python or builtins before converting output to dataframe.
【问题讨论】:
标签: python python-3.x pandas parsing ping