Data Science and Data Proicessing

Python으로 일상 작업 자동화

7 월 11 일 · 최소 읽기
Image for post

아침에 한 시간 더 잠을 자고 싶지 않지만 안타깝게도 사무실에서 똑같은 일을해야합니다. 데이터 분석가의 삶은 SQL 쿼리를 실행하여 데이터베이스에서 데이터를 추출하고, 결과 집합을 CSV 파일에 저장하고, 파일에서 데이터를 조작하고, 결과를 나타내는 것입니다.

우리는 종종 데이터베이스에서 데이터를 추출하고 Excel에서 데이터를 조작 한 다음이를 기반으로 적절한 결정을 내리기 위해 다른 팀에 데이터를 보내야하는 올바른 형식으로 최종 데이터를 처리해야하는 일부 작업을 매일 수행합니다. 매일 똑같은 일을하는 것은 지루한 작업이 될 것이며 솔직히 말하면 기술에 가치를 더하지 않을 것입니다.

이 기사에서는 파이썬을 사용하여 자동화하는 방법을 살펴 보겠습니다. 그럼 시작하겠습니다.

전제 조건은 Python 코드를 실행할 수있는 시스템에 anaconda 또는 유사한 IDE가 설치되어 있어야한다는 것입니다.

먼저 데이터를 추출하려는 위치에서 데이터베이스에 대한 연결을 만들어야합니다. 여기에 연결을 만들 것입니다.Vertica(MySQL 데이터베이스 사용 : import mysql.connector). 다음은 데이터베이스에 대한 연결을 생성하기 위해 필요한 코드입니다.

from vertica_python import connectconn_info = {'host': '123.45.67.89',
'port': 5433,
'user': 'Username',
'password': 'password',
'database': 'Schema_name',
'read_timeout': 600, # 10 minutes timeout on queries
'unicode_error': 'strict', # default throw error on invalid UTF-8 results
'ssl': False # SSL is disabled by default
}
connection = connect(**conn_info)

여기서 host는 데이터베이스가있는 서버의 IP 주소입니다. 이 코드를 실행하면 연결이 설정되고 커서를 만드는 다음 단계로 이동하는 것이 좋습니다. 커서는 데이터베이스와 통신하는 명령문을 실행하는 데 사용됩니다. SQL 문을 실행하고, 프로 시저를 호출하고, 결과 집합에서 모든 데이터를 가져 오는 데 사용됩니다.

cursor = connection.cursor()

커서가 있으면 SQL 쿼리를 실행할 수 있습니다.

cursor.execute("Select * from table_name")

여기서 cursor.execute는 SQL 문에 오류가있는 경우 선택 쿼리를 컴파일하고 구문 오류를 발생시킵니다. 그런 다음 결과 집합에서 모든 레코드를 가져 와서 데이터를 CSV 파일에 저장해야합니다.

import csv
with open('output.csv','w') as f:
writer = csv.writer(f)
writer.writerow([i[0] for i in cursor.description])
for row in cursor.fetchall():
writer.writerow(row)

결과 세트를 CSV 파일로 저장하려면 쓰기 모드로 파일을 열어야합니다 (파일이 있으면 덮어 쓰고 그렇지 않으면 새 파일을 생성합니다).

Cursor.description은 데이터의 헤더를 가져 오는 데 사용됩니다. 여기에서는 For 루프를 사용하여 데이터를 행별로 CSV 파일에 기록합니다. 출력 파일은 현재 작업 디렉토리에서 찾을 수 있습니다.

데이터를 가져온 후 최종 출력을 나타내는 피벗 테이블을 만듭니다. 피벗 테이블을 만들려면 데이터를판다DataFrame.

import pandas as pd
df = pd.read_csv('output.csv')
df.pivot_table(index=['col_name1'], values='col_name2', columns='col_name3', aggfunc='sum')

피벗 테이블에서 매개 변수는 이름에서 알 수있는 것과 동일한 것을 나타냅니다. 이제 최종 결과로 피벗 테이블이 생겼습니다.

이 기사가 데이터 분석 여정에 도움이되고 생활이 조금 더 쉬워지기를 바랍니다.

읽어 주셔서 감사합니다!

+ Recent posts