赞
踩
点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
苟全性命于乱世,不求闻达于诸侯。
大家好,我是皮皮。
前几天在Python奥特曼交流群【。。】问了一个Python
面试题的问题,一起来看看吧,图片代码分享版本在这个文章,盘点一个Python面试编程题(Python应用实战)(文末赠书),在里边也可以拿到原始的需求数据。这里应粉丝的要求,分享一个代码版本,手残党福利来了!
二、实现过程
其实上一篇文章,我们已经给大家发布了一个图片版本的代码,不过有粉丝反馈图片太模糊了,手敲又有点懒,这里对照着【宝平】给的代码,给大家分享出来,代码如下:
- import pandas as pd
- import re
- import json
-
-
- file = "login.txt"
- df1 = pd.read_table(file, engine="python", header=None)
- df1.columns = ["col1"]
- df2 = pd.DataFrame(columns=["日期", "id", "lv"])
-
- k = 0
- dic1 = {}
- for i in df1.index:
- if "levelup" in df1.at[i, "col1"]:
- k += 1
- # print(df1.at[i, "col1"])
- df2.at[k, "日期"] = df1.at[i, "col1"][1:11]
- # df2.at[k, "日期"] = df1.at[i, "col1"]
- pattern = r"{[^}]+}"
- match = re.search(pattern, df1.at[i, "col1"])
- # print(match)
- if match:
- dic1 = json.loads(match.group())
- # print(dic1)
- df2.at[k, "id"] = dic1["id"]
- df2.at[k, "lv"] = dic1["to_lv"]
- # print(df2)
- df2.drop_duplicates(subset={"日期", "id"}, keep="last", inplace=True)
- print(df2)
- df2_grouped = df2.groupby(["日期", "lv"]).size().reset_index(name="Count")
- print(df2_grouped)

顺利地解决了粉丝的问题。关键部分在于先对log文件进行遍历,然后判断levelup是否在行中,如果在的话,就进行处理,如果不在的话,就直接pass掉了。针对这个问题,其实需求方已经澄清了,不然会让人误解答案不对。
大家好,我是皮皮。这篇文章主要盘点了一个Python
面试编程题的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【。。】提问,感谢【宝平】、【刺】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。
【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting1),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。