Dash - Hochladen extrem groß .txt (3 Millionen Zeilen) mithilfe der Upload -KomponentePython

Python-Programme
Anonymous
 Dash - Hochladen extrem groß .txt (3 Millionen Zeilen) mithilfe der Upload -Komponente

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post