【问题标题】:How to log table information using python如何使用python记录表信息
【发布时间】:2021-09-28 11:52:16
【问题描述】:

我有下表(df):

Col1 Col2 Col3
A1 finished 1234
A2 ongoing 1235
A3 NaN 1236
A4 finished 1237
A5 started 1238
A6 finished 1239

我想将该表中未完成的信息记录为 log.log 文件。我该怎么做?

期望的输出:

12/12/2010 11:46:36 AM A2 ongoing 1235
12/12/2010 11:46:36 AM A3 NaN 1236
12/12/2010 11:46:36 AM A5 started 1238

到目前为止我尝试了什么?

import pandas as pd
import logging

tab_not_finished = df[df['col2'] != 'finished']
logging.basicConfig(filename='log.log', encoding='utf-8', format = '%(asctime)s %(message)s',  level=logging.WARNING)
logging.warning(tab_not_finished)

上述脚本不保存为带有时间戳的日志文件。我该如何解决?

【问题讨论】:

    标签: python pandas dataframe logging timestamp


    【解决方案1】:

    您需要使用to_string 将表格转换为字符串:

    logging.warning(tab_not_finished.to_string())
    

    最终添加一个换行符,否则标题将位于时间戳行:

    logging.warning('\n'+tab_not_finished.to_string())
    

    【讨论】:

    • 谢谢,这行得通!但我无法提取 NaN 行并且没有时间戳。我该怎么做?
    • 什么意思?是否要删除 NaN? tab_not_finished.dropna()
    • 不,我想包含 NaN。
    • 应该包括 NaN,对我有用……你有哪个 pandas 版本?
    • 熊猫版本 1.1.2
    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多