Пожалуйста, прежде чем не нравится этот вопрос, спросите меня, что вы не понимаете Здравствуйте, ребята, у меня есть программа для генерации данных, которая будет выполнять много вычислений, поэтому я не могу вставить всю свою программу сюда, так что я говорю только о моей программе Все вычисления программы начинаются с чтения файла, поэтому, когда я выбираю несколько CSV-файлов на веб-странице в опции «выбрать файл», мне нужно проверить номера столбцов (должны быть одинаковыми) для всех CSV-файлов и столбцовимя заголовка также должно соответствовать .. написанной мной программе:
from flask import Flask, render_template
import os
import csv
import pandas as pd
import numpy as np
app = Flask(__name__)
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
@app.route("/")
def index():
print("Loading the root file")
return render_template("upload.html")
@app.route("/upload", methods=['POST'])
def upload():
target = os.path.join(APP_ROOT, 'input/')
print("target-",target)
if not os.path.isdir(target):
os.mkdir(target)
for file in request.files.getlist("source_fileName"):
print("file-",file)
filename = file.filename
print("filename-",filename)
destination = "/".join([target, filename])
print("destination-",destination)
file.save(destination)
print("file>",file)
global tempFile
tempFile = destination
print("tempFile - " + tempFile)
return redirect("/compute", )
def compute():
readerForRowCheck = pd.read_csv(tempFile)
for row in readerForRowCheck:
if (len(row) != 8):
return render_template("Incomplete.html")
headerColumn1 = row[0];
headerColumn2 = row[1];
headerColumn3 = row[2];
headerColumn4 = row[3];
headerColumn5 = row[4];
headerColumn6 = row[5];
headerColumn7 = row[6];
headerColumn8 = row[7];
if (headerColumn1 != "Asset_Id") or (headerColumn2 != "Asset Family") \
or (headerColumn3 != "Asset Name") or (headerColumn4 != "Location")or (headerColumn5 != "Asset Component") \
or (headerColumn6 != "Keywords") or (headerColumn7 != "Conditions") or (headerColumn8 != "Parts") :
return render_template("incomplete.html")
.....................................so on to then it will go to perform other task
HTML-программа:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> upload </title>
</head>
<body>
<div class="container">
<h1>Large Data Generation</h1>
<form id = "upload-form" action="{{ url_for('upload') }}" method="POST" enctype="multipart/form-data">
<div id="file-selector">
<p>
<strong>Source File: </strong>
<input id="source_fileName" type="file" name="source_fileName" accept="csv/*" multiple />
</p>
</div>
<input type="submit" value="Generate Data" id="upload-button" >
</form>
</div>
</body>
Примечание: ** Я дал только строки кода, которые важны, в противном случае он содержит много кода ** Здесь я получаю, как я должен проверить файл CSV по номерам столбцов и имя должно быть таким же, я знаю, моя проверка для чтения файла CSVэто не правильно, почему я здесь, пожалуйста, помогите мне ..... спасибо