删除 HBox 终端输出

Removing HBox terminal output

我将 excel 文件转换为具有 pandastqdm 的 h5 文件。

以下是我使用的代码的简化版本:

import pandas as pd
from tqdm.notebook import tqdm

# read raw table
pd.set_option('io.hdf.default.format', 'table')
store = pd.HDFStore('test.h5')

# get original file
original_file = ('test.xlsx')

# tables
table_names = ['A', 'B', 'C']

for name in tqdm(table_names):
    # some pre-process data
    df = pd.read_excel(original_file, sheet_name=name, skiprows=2)
    df.columns = [i.strip() for i in df.columns]
    df.index = pd.date_range('2020-01-01 00:00', periods=len(df.index),
                             freq='H', tz='UTC')
    del df['Date from']
    del df['Date to']

    df.index.name = 'date_time'

    # rename columns
    mapping = {...}
    if 'xxx' in name:
        df = df.rename(columns=mapping)

    # inject table to hdf store
    store[name] = df.copy()
    del df

store.close()

print('H5 file is ready')

上面的代码给我一个奇怪的输出,如下所示:

HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=9.0), HTML(value='')))

H5 file is ready

我猜这个 HBox 东西是一种像加载栏一样显示 h5 文件创建过程的方式。但是它没有显示任何内容并写下这一行 ...children=(HTML...。由于它没有给我任何信息,我想删除此 HBox 行。但我不确定脚本中上面的哪个命令创建了它。有什么想法吗?

顺便说一句,如果容易实现,工作进度条也可能很好。

HBoxtqdm.notebook 有关。所以删除 tqdm 中的:

 for name in tqdm(table_names):

如果你想显示进度,你可以使用通常的tqdm:

from tqdm import tqdm  # not tqdm.notebook
for name in tqdm(table_names):