对 xml 输出 python 脚本中的单词进行排序和计数
Sort and count words in xml output python script
我正在尝试对 i.find().text
命令的输出中的每个单词进行排序和计数,但如果数组中没有硬编码的过滤词,我无法找到一种方法。
使用的字符串:
from xml.etree import ElementTree as ET
root = ET.fromstring(response.text)
data = root.findall('file.xml')
for i in data:
print(i.find('file.xml/ssidname').text)
字符串的输出:
SSID1
SSID1
SSID1
SSID2
SSID3
SSID1
SSID3
SSID2
SSID2
例外的答案是:
SSID1: 4, SSID2: 3, SSID3: 2
卡在了python 2.6.6
更新不了,所以用计数器的想法就不能用了
如果你有什么建议,请在评论中告诉我。提前致谢。
所以,我不知道哪些部分在 Python 2.6 中实际工作,但这是一个可能的解决方案:
text = '''SSID1
SSID1
SSID1
SSID2
SSID3
SSID1
SSID3
SSID2
SSID2'''
counter = {}
for line in text.split('\n'):
counter[line] = counter.get(line, 0) + 1
final = dict(sorted(counter.items(), key=lambda x: x[1], reverse=True))
print(final)
我正在尝试对 i.find().text
命令的输出中的每个单词进行排序和计数,但如果数组中没有硬编码的过滤词,我无法找到一种方法。
使用的字符串:
from xml.etree import ElementTree as ET
root = ET.fromstring(response.text)
data = root.findall('file.xml')
for i in data:
print(i.find('file.xml/ssidname').text)
字符串的输出:
SSID1
SSID1
SSID1
SSID2
SSID3
SSID1
SSID3
SSID2
SSID2
例外的答案是:
SSID1: 4, SSID2: 3, SSID3: 2
卡在了python 2.6.6
更新不了,所以用计数器的想法就不能用了
如果你有什么建议,请在评论中告诉我。提前致谢。
所以,我不知道哪些部分在 Python 2.6 中实际工作,但这是一个可能的解决方案:
text = '''SSID1
SSID1
SSID1
SSID2
SSID3
SSID1
SSID3
SSID2
SSID2'''
counter = {}
for line in text.split('\n'):
counter[line] = counter.get(line, 0) + 1
final = dict(sorted(counter.items(), key=lambda x: x[1], reverse=True))
print(final)