马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 admintest166 于 2022-7-6 21:33 编辑
因为在数据处理 处理完成以后想写入到xlsx中 但是因为每个列表中的值 长度都是不一样的 比如时间这个列表中有700多条数据 IP这条列表中有400多条数据 因为长度不同 写入xlsx错误 请问各位大佬有什么好的解决方法
.txt文件上传不了 我打包成了压缩包格式
from pyquery import PyQuery as pq
import pandas as pd
with open('E:\\log\\1.txt','r')as f:
data=pq(f.read())
#查找用户
user_data=data('User-Name').text()
#code=[user_data.split(' ') for i in user_data]
code=user_data.split(' ')
print(len(code))
#用户IP地址
ip_address=data('Framed-IP-Address').text()
#address=[ip_address.split(' ') for i in ip_address]
address=ip_address.split(' ')
print(len(address))
#时间
time_data=data('Timestamp').text()
time=time_data.split(' ')
pj_time=b=[f'{time[i]}-{time[i+1]}' for i in range(0,len(time),2)]
print(len(time))
#pj_time=['06/24/2022-02:10:15', '06/24/2022-02:10:15']
#会话ID
NAS_Port_Id=data('NAS-Port-Id').text()
#as_port_id=[NAS_Port_Id.split(' ') for i in NAS_Port_Id]
nas_port_id=NAS_Port_Id.split(' ')
#NAS的端口类型
NAS_Port_Type=data('NAS-Port-Type').text()
nas_port_type=NAS_Port_Type.split(' ')
pf=pd.DataFrame()
pf['时间'] = pj_time
pf['会话ID'] = nas_port_id
pf['用户'] = code
pf['用户IP'] = address
save_path='1.xlsx'
pf.to_excel(save_path,encoding='utf-8',index=False,header=True)
列合并
pf1=pd.DataFrame()
pf1['时间'] = pj_time
pf2=pd.DataFrame()
pf2['会话ID'] = nas_port_id
pf3=pd.DataFrame()
pf3['用户IP'] = address
pf=pd.concat([pf1, pf2, pf3],axis=1)
|