python 将txt导入excel


#1

要处理的txt文件如下:
就是一个ip,对应 该主机用户,大概有几百台

而我想要的是这样的:
image

请帮忙指导一下,谢谢!


#2
  • 列操作.
  • 合并单元格.

这排版也是醉了.


#3
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pandas as pd
import re
 
text = """
192.168.1.1 | success | rc=0 >>
root
bin
abc
efg
hig
192.168.1.2 | success | rc=0 >>
klm
nop
qrs
tuv
wxy
z12
"""
 
data = text.strip().replace(" | success | rc=0 >>","").split("\n")
 
rs = []
ip = ""
for in data:
    if re.match('\d+\.\d+\.\d+\.\d', d):
        ip = d
    else:
        rs.append((ip, d))
df = pd.DataFrame(rs, columns=["ip""user"])
df = df.groupby(df["ip"]).apply(lambda x: x["user"])
df.to_excel("/path/to/test.xlsx")