Flask Pandas Dataframe - 코딩 방법
이 문서에서는 pandas 데이터 프레임을 데이터베이스에 로드하고 페이지에 정보를 표시하는 간단한 Flask 프로젝트를 제시합니다. Flask Pandas Dataframe은 초보자가 몇 가지 기본 Flask 개념을 이해하는 데 도움이 되는 프로젝트
one-file
입니다.app
pandas dataframe
다운로드custom command
Visualize
브라우저의 데이터Thanks for reading! TL;DR;
Flask Pandas Dataframe - 소스 코드
구축 및 설정
프로젝트를 빌드하고 몇 가지 조치를 보려면 아래 제시된 이 간단한 설정을 따르십시오. 성공적인 빌드를 위해서는 Python3이 필요합니다.
소스 복제
$ git clone https://github.com/app-generator/flask-pandas-dataframe.git
$ cd flask-pandas-dataframe
종속성 설치: Flask, Pandas, SqlAlchemy 및 요청.
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
$
$ # Install dependencies
$ pip3 install -r requirements.txt
SQLite 데이터베이스 생성
$ # Create database via Flask CLI
$ flask shell
>>> from app import db # import SqlAlchemy interface
>>> db.create_all() # create SQLite database and Data table
>>> quit() # leave the Flask CLI
custom command
를 통해 정보를 로드합니다.$ # Load the data into the database
$ flask load-data titanic-min.csv
앱 시작 및 데이터 시각화
$ # Set the FLASK_APP environment variable
$ (Unix/Mac) export FLASK_APP=run.py
$ (Windows) set FLASK_APP=run.py
$ (Powershell) $env:FLASK_APP = ".\run.py"
$
$ # Set up the DEBUG environment
$ # (Unix/Mac) export FLASK_ENV=development
$ # (Windows) set FLASK_ENV=development
$ # (Powershell) $env:FLASK_ENV = "development"
$
$ flask run
$ # access the app in the browser: http://localhost:5005
종속성
Flask - 사용된 프레임워크
Pandas - 놀라운
data analysis
라이브러리 SQLAlchemy - Python SQL 툴킷 및 ORM
Flask-SqlAlchemy - SQLAlchemy용 Flask 확장
Requests - 간단한 HTTP 라이브러리.
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
$
$ # Install modules - SQLite Database
$ pip3 install -r requirements.txt
데이터 다운로드
데이터 세트는 원격location에서 다운로드되고 titanic.csv에 저장됩니다.
>>> import requests
>>>
>>> # Define the remote CSV file
>>> csv_file = 'https://static.appseed.us/data/titanic.txt'
>>>
>>> # Download the file (via request library)
>>> r = requests.get( csv_file )
>>>
>>> # Save the content to a new LOCAL file
>>> f = open('titanic.csv', 'w')
>>> f.write( r.content.decode("utf-8") )
>>> f.close
프로세스 데이터
RAW 데이터 세트에는 ~900개의 행이 있으며
pandas
라이브러리를 사용하여 쉽게 검사할 수 있습니다.>>> import pandas as pd
>>>
>>> df = pd.read_csv( 'titanic.csv' )
>>> df
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
.. ... ... ... ... ... ... ... ... ... ... ... ...
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q
DataFrame:
df.dtypes
에서 열 데이터 유형을 검사해 보겠습니다. 이 정보는 정보가 로드되는 위치table
를 설계하는 데 사용됩니다.>>> df.dtypes
PassengerId int64
Survived int64
Pclass int64
Name object
Sex object
Age float64
SibSp int64
Parch int64
Ticket object
Fare float64
Cabin object
Embarked object
SQLite 저장소 준비
정보를 쉽게 관리하기 위해 SqlAchemy ORM이 사용됩니다.
Data
테이블은 로드된 정보를 저장합니다. 정의는 다음과 같습니다.# Store the Titanic sad stats
class Data(db.Model):
passengerId = db.Column(db.Integer, primary_key=True )
name = db.Column(db.String(250), nullable=False )
survived = db.Column(db.Integer, nullable=False )
sex = db.Column(db.String(10 ), default=None )
age = db.Column(db.Integer, default=-1 )
fare = db.Column(db.Float, default=-1 )
# The string representation
def __repr__(self):
return str(self.passengerId) + ' - ' + str(self.name)
Flask CLI
를 통해 SQLite 데이터베이스와 새 테이블을 만듭니다.$ flask shell
App: app [development]
Instance: D:\work\repo-learn\python\how-to\instance
>>> from app import db
>>> db.create_all()
이 시점에서 SQLite용 오픈 소스 및 무료 편집기인 SQLiteBrowser을 사용하여 데이터베이스를 검사할 수 있습니다(테이블이 비어 있음).
데이터 로드
정보는
custom command
= load-data를 통해 데이터베이스에 로드됩니다. 이 명령은 file name
를 입력 인수(CSV 형식)로 예상합니다.# New import
import click
...
# Custom command
@app.cli.command("load-data")
@click.argument("fname")
def load_data(fname):
''' Load data from a CSV file '''
print ('*** Load from file: ' + fname)
# The functional part goes here
...
명령이 제대로 코딩되었는지 확인하기 위해 터미널에
flask --help
를 입력할 수 있습니다.$ flask --help
Options:
--version Show the flask version
--help Show this message and exit.
Commands:
load-data Load data from a CSV file <-- NEW Command
routes Show the routes for the app.
run Run a development server.
shell Run a shell in the app context.
$ # Load the information
$ flask load-data titanic-min.csv
정보가 로드되면 앱을 시작하고 브라우저에서 결과를 확인할 수 있습니다.
기본 경로
데이터 경로
Thanks for reading! For more resources, please access:
Flask - 사용된 프레임워크
Pandas - 놀라운
data analysis
라이브러리 AppSeed - 지원 및 추가 샘플용
Reference
이 문제에 관하여(Flask Pandas Dataframe - 코딩 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sm0ke/flask-pandas-dataframe-how-to-code-it-4emd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)