【发布时间】:2017-09-25 19:01:38
【问题描述】:
我正在尝试跟踪我的应用程序中的“禁止”用户。 用户名,minutes_banned,channel_banned_from
joe,5,general
sally,10,other
bob,50,gaming
我将文件读入一个列表,它由列表组成。
我发现处理这种形式的数据很困难。例如,我很难让它只输出用户名。
而且我也不确定如何跟踪每组数据。如果我以 bob 作为用户名并想检查他被禁止了多长时间.. 我如何将 bob 与 50 联系起来?
谢谢。
【问题讨论】:
-
好吧,如果它在内存中,那么使用字典而不是遍历列表列表。但问题是将此信息存储在 csv 中;您可以在短期内进行非常简单的(1 小时学习和测试)过渡到 sqlite。然后至少您可以查询数据库,而不是检查 CSV 中的每一行。
-
这可能是题外话(寻求推荐),但你应该使用pandas
-
@roganjosh 我将它存储在 CSV 中的原因是因为我想在程序崩溃或重新启动它时保持数据完整。我能以某种方式对字典做同样的事情吗?
-
不是真的,因为它会在内存中(除非你想要像 NoSQL DB 这样的东西)。我的建议只是将数据从 CSV 传输到 Sqlite3(它内置于 Python),您仍然可以将数据存储在磁盘上并非常快速地进行检查。
-
顺便说一句,被禁止的时间是有问题的......从什么时候开始的分钟?设置禁止分钟时,请考虑
time.utcnow() + (60 minutes_banned)并保存它。稍后阅读时,请对照当前时间。