导入Dash模块会更改.csv文件

时间:2020-11-04 13:47:37

标签: python plotly

使用Dash库时,我遇到了一个奇怪的行为,我在此道歉,因为我认为我无法举一个容易复制的示例,因此我将包含我认为的所有信息是相关的。

我试图创建一个小的仪表板,该仪表板加载一些数据,然后将其绘制在条形图中。我用于此目的的代码如下(从文档中改编而成):

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
import os.path as path


def find_unique_id(data, first_name, second_name, season):

    name = first_name + '_' + second_name
    data_filt = data[data['season'] == season]
    data_filt = data_filt[data_filt['name'] == name]
    print(data_filt['unique_id'])

    return data_filt['unique_id'].iloc[0]

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options

path_data = path.join(path.dirname(path.dirname(path.abspath(__file__))), 'Processed', 'player_database.csv')

data = pd.read_csv(path_data)

unique_id = []
unique_id.append(find_unique_id(data, 'Harry', 'Kane', 2020))
unique_id.append(find_unique_id(data, 'Mohamed', 'Salah', 2020))
unique_id.append(find_unique_id(data, 'Heung-Min', 'Son', 2020))

fig = px.bar(data[data['unique_id'].isin(unique_id)], x="round", y="points_mean3", color="name", barmode="group")

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure=fig
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)

已加载player_database.csv并在图片中进行了详细说明(请注意文件大小):

enter image description here

但是,现在无论什么时候,即使我导入任何与Dash相关的模块,即使是在不同的文件中,它也会更改此文件夹中的所有文件,并似乎将它们恢复为较早的状态。例如,当我运行以下代码时,您可以看到文件大小的变化:

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px

这会更改此目录中的所有文件(再次显示为文件大小):

enter image description here

有人知道为什么会发生这种情况吗,Dash是否在某处获得了某种缓存来从以前的状态加载正在使用的文件?我已尝试使用Google搜索,但对此一无所获。

谢谢

0 个答案:

没有答案