Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 서평
- 리눅스
- Python
- MySQL
- 시각화
- Google Analytics
- 월간결산
- 티스토리
- 매틀랩
- 블로그
- 독후감
- Ga
- 한빛미디어
- 딥러닝
- 파이썬 시각화
- 텐서플로
- SQL
- MATLAB
- matplotlib
- Linux
- Pandas
- python visualization
- tensorflow
- Blog
- Visualization
- Tistory
- 통계학
- 서평단
- 한빛미디어서평단
- 파이썬
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] 구글 스프레드 시트 데이터를 mysql 에 저장하기 본문
0. 목표
- 구글 스프레드 시트 데이터를 mysql 에 저장하기
1. 사전준비
1) google api 를 통한 python 과 google spreadsheet 연동
* 링크 참조
2) mysql 테이블 생성
- ADD UNIQUE 를 하는 이유는 나중에 UPSERT 를 하기 위함
CREATE TABLE pbj_db.spreadsheet_test
(
datetime datetime,
result int
) ENGINE = INNODB;
ALTER TABLE pbj_db.spreadsheet_test ADD UNIQUE (`datetime`);
3) 구글시트 더미 데이터 준비
2. 실습
1) library 호출
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pymysql
2) 스프레드 시트 연동하기
scope = ['https://spreadsheets.google.com/feeds']
json_file_name = '/Users/pbj0812/Desktop/ouath/발급받은.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file_name, scope)
gc = gspread.authorize(credentials)
spreadsheet_url = '구글시트 링크'
3) 시트 연결하기
doc = gc.open_by_url(spreadsheet_url)
worksheet = doc.worksheet('a')
4) 1열, 2열 데이터 가져오기
- 첫 줄은 필드명이므로 [1:]
col_date = worksheet.col_values(1)[1:]
col_result = worksheet.col_values(2)[1:]
5) mysql insert 쿼리 만들기
def insert_query(inp1, inp2):
db = pymysql.connect(host='127.0.0.1', port=3306, user='root', db='pbj_db', charset='utf8')
cursor = db.cursor()
sql = '''INSERT INTO pbj_db.spreadsheet_test VALUES(''' + "'"+str(inp1) + "'," + str(inp2) + ''') ON DUPLICATE KEY UPDATE result=result;'''
cursor.execute(sql)
result = cursor.fetchall
db.commit()
db.close()
6) 실행
for i in range(len(col_date)):
insert_query(col_date[i], col_result[i])
3. 결과
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] matplotlib 으로 seaboard scatterplot 구현하기 (0) | 2021.12.14 |
---|---|
[PYTHON] 인덱싱, 슬라이싱, iloc, loc, iat, at 정리 (0) | 2021.11.15 |
[PYTHON] OpenCV 를 이용한 얼굴 비율 산출기 제작 (0) | 2021.09.10 |
[PYTHON] 두 개의 dict 내 구성요소 일치여부를 판단하기 (0) | 2021.08.29 |
[PYTHON] matplotlib 으로 Parallel Categories Charts 구현하기 (0) | 2021.08.18 |
Comments