by Anonymous » 07 Sep 2025, 22:32
Neu in Dash, haben Probleme beim Hochladen meiner .csv -Dateien mit dem hier verwendeten Standard -Beispielcode. Ich habe versucht, normale oder kleine Größe .TXT -Dateien hochzuladen und der Code funktioniert gut. Wenn ich jedoch versuche, sehr große .CSV -Dateien (2 GB, nahe 3 Millionen Zeilen und 11 Spalten) zu laden, bricht die Seite sofort den Google -Chrome -Fehler "AW, Snap!".
Code: Select all
app.layout = html.Div([
dcc.Upload(
id='upload-data',
children=html.Div([
'Drag and Drop or ',
html.A('Select Files')
]),
style={
'width': '100%',
'height': '60px',
'lineHeight': '60px',
'borderWidth': '1px',
'borderStyle': 'dashed',
'borderRadius': '5px',
'textAlign': 'center',
'margin': '10px'
},
# Allow multiple files to be uploaded
multiple=True
),
html.Div(id='output-data-upload')
])
@app.callback(Output('output-data-upload', 'children'),
Input('upload-data', 'contents'),
State('upload-data', 'filename'),
State('upload-data', 'last_modified'))
def update_output(list_of_contents, list_of_names, list_of_dates):
for content, name, date in zip(list_of_contents, list_of_names, list_of_dates):
content_type, content_string = content.split(',')
content_decoded = base64.b64decode(content_string)
zip_str = io.BytesIO(content_decoded)
zip_obj = ZipFile(zip_str, 'r')
with zip_obj.open("my_original_filename.txt") as z:
df = pd.read_csv(z)
print(df.head())
< /code>
Der Code funktioniert in normaler Größe komprimiert .csv -Dateien gut. Wenn ich jedoch die komprimierte Version meiner sehr großen .csv -Datei (die im .zip -Format jetzt 500 MB ausmacht) übergasse, ist der Parameter List_of_Contents
leer. Daher wird die Datei als Outright ignoriert. Wie kann ich diese Daten in eine Dash -Anwendung bringen?
Neu in Dash, haben Probleme beim Hochladen meiner .csv -Dateien mit dem hier verwendeten Standard -Beispielcode. Ich habe versucht, normale oder kleine Größe .TXT -Dateien hochzuladen und der Code funktioniert gut. Wenn ich jedoch versuche, sehr große .CSV -Dateien (2 GB, nahe 3 Millionen Zeilen und 11 Spalten) zu laden, bricht die Seite sofort den Google -Chrome -Fehler "AW, Snap!".[code]
app.layout = html.Div([
dcc.Upload(
id='upload-data',
children=html.Div([
'Drag and Drop or ',
html.A('Select Files')
]),
style={
'width': '100%',
'height': '60px',
'lineHeight': '60px',
'borderWidth': '1px',
'borderStyle': 'dashed',
'borderRadius': '5px',
'textAlign': 'center',
'margin': '10px'
},
# Allow multiple files to be uploaded
multiple=True
),
html.Div(id='output-data-upload')
])
@app.callback(Output('output-data-upload', 'children'),
Input('upload-data', 'contents'),
State('upload-data', 'filename'),
State('upload-data', 'last_modified'))
def update_output(list_of_contents, list_of_names, list_of_dates):
for content, name, date in zip(list_of_contents, list_of_names, list_of_dates):
content_type, content_string = content.split(',')
content_decoded = base64.b64decode(content_string)
zip_str = io.BytesIO(content_decoded)
zip_obj = ZipFile(zip_str, 'r')
with zip_obj.open("my_original_filename.txt") as z:
df = pd.read_csv(z)
print(df.head())
< /code>
Der Code funktioniert in normaler Größe komprimiert .csv -Dateien gut. Wenn ich jedoch die komprimierte Version meiner sehr großen .csv -Datei (die im .zip -Format jetzt 500 MB ausmacht) übergasse, ist der Parameter List_of_Contents [/code] leer. Daher wird die Datei als Outright ignoriert. Wie kann ich diese Daten in eine Dash -Anwendung bringen?