2016-08-31 3 views
0

저는 python 및 mySQL에 익숙하지 않습니다. 처음에는 mySQL 데이터베이스에있는 데이터를 사용하여 그래프를 거의 생성하지 않습니다. 결국 그 그래프를 포함하는 pdf 보고서를 생성하려고합니다. 당신이 올바른 방향으로 나를 가리킬 수 있다면 어떤 도움/조언이 좋을 것입니다. 매우 감사합니다.Python을 사용하여 mySQL 데이터베이스에서 그래프 그리기

답변

0

저는 1000 만 개가 넘는 항목으로 데이터베이스에서 그래프를 생성하고 있습니다. 집계는 주로 데이터베이스 자체에서 수행됩니다. 일부 작업은 많은 시간이 걸리지 만 괜찮습니다.

sqlalchemy 및 mysqlconnector를 사용하면 데이터베이스에 쉽게 연결할 수 있습니다. mysql을위한 많은 커넥터가있다.

여기에 sqlalchemy에 대한 간단한 테스트 스크립트가 있습니다. 테이블은이 예제에서 생성됩니다.

당신은 더 http://www.sqlalchemy.org/

from sqlalchemy import create_engine 
from sqlalchemy.orm import sessionmaker 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy import Column, String, Integer, BigInteger, Text, Index 
from sqlalchemy.orm.scoping import scoped_session 


Base = declarative_base() 
class ATestEntity(Base): 
    __tablename__ = 'a_test_entity_table' 

    id = Column(String(32), primary_key=True) 
    astring = Column(String(32)) 

    aint = Column(BigInteger, default=-1) 


dialect = "mysql+mysqlconnector" 
username = "username" 
password = "passwort" 
host = "localhost" 
port = "3306" 
database = "tests" 

dbconnector = '%s://%s:%[email protected]%s:%s/%s?charset=utf8mb4&use_unicode=0' % \ 
    (dialect, username, password, host, port, database,) 
engine = create_engine(dbconnector) 
session_factory = sessionmaker(autocommit=False, autoflush=False) 
session_factory.configure(bind=engine) 

Base.metadata.create_all(engine) 

s = scoped_session(session_factory) 
try: 
    #Create a new entity 
    a_obj = ATestEntity() 
    a_obj.id = 'test' 
    a_obj.astring = 'this is a test' 
    a_obj.aint = 10 
    s.add(a_obj) 
    s.commit() 

    #Delete a entity 
    s.query(ATestEntity).filter(ATestEntity.id == 'test').delete() 
    s.commit() 

except: 
    s.rollback() 
    raise 

에서 수학 계산은 외부 NumPy와 함께 수행하고 필요한 경우 scipy 할 수 있습니다 찾을 수 있습니다. http://www.numpy.org/ https://www.scipy.org/

줄거리 는하기 matplotlib 수행 할 수 있습니다. 에 대한 많은 예가 있습니다. http://matplotlib.org/examples/index.html 프리티 다이어그램도 생성 할 수 있습니다.

생성 된 라텍스 파일에서 보고서를 생성하고 있습니다. 그러나 파이썬을위한 많은 pdf 라이브러리도 있습니다.

끝내려면 한 가지 방법 밖에 없습니다.

+0

감사합니다. 나는 이것을 확실히 체크 할 것이다. –

+0

그냥 내가 이미하고 싶은 데이터베이스가 있다는 것을 분명히하고 싶습니다. 히스토그램. –

+0

데이터베이스를 나타내는 엔티티를 만들 수 있으며 테이블을 만드는 Base.metadata.create_all (엔진)을 호출 할 필요가 없습니다. SQLAlchemy를 사용하면 데이터베이스에 쉽게 액세스 할 수 있습니다. – ego2dot0

관련 문제