엑셀 SQL 구문 추출

P/Python 2017. 6. 12. 16:38

Insert

import sys
from openpyxl import load_workbook

reload(sys)
sys.setdefaultencoding('utf-8')

file_name = sys.argv[1]
table_name = sys.argv[2]

wb = load_workbook(file_name)
ws = wb.active

def row_name_value(row_num):
row_values = []
for col in ws.columns:
row_values.append((col[0].value, col[row_num].value))
return row_values

def makeSql(table_name, name_value_list):
keymap = set(["now()", "null"])
names = ''
values = ''

for (name, value) in name_value_list:
if not value:
value = "0"
names = names + '{0},'.format(name)
if value not in keymap:
values = values + "'{0}',".format(value)
else:
values = values + "{0},".format(value)
if names[-1] == ',':
names = names[:-1]
if values[-1] == ',':
values = values[:-1]
return "insert into {0} ({1}) values({2});".format(table_name, names, values)

with open('{0}.sql'.format(file_name), 'w') as fw:
for idx in range(1, ws.max_row):
sql = makeSql(table_name, row_name_value(idx)) + '\n'
fw.write(sql)


Update

import sys
from openpyxl import load_workbook

reload(sys)
sys.setdefaultencoding('utf-8')

file_name = sys.argv[1] # test.xlsx
table_name = sys.argv[2] # schema.table

wb = load_workbook(file_name)
ws = wb.active

def row_name_value(row_num):
row_values = []
for col in ws.columns:
row_values.append((col[0].value, col[row_num].value))
return row_values

def makeSql(table_name, name_value_list):
keymap = set(["now()", "null"])
update_datas = ''
where_clause = "{0} = '{1}'".format(name_value_list[0][0], name_value_list[0][1])

for (name, value) in name_value_list[1:]:
# print value, name
if not value or "*" not in name:
continue
name = name.replace("*", "")
if value not in keymap:
update_datas = update_datas + "{0} = '{1}',".format(name, value)
else:
update_datas = update_datas + "{0} = {1},".format(name, value)
if update_datas[-1] == ',':
update_datas = update_datas[:-1]
return "update {0} set {1} where {2};".format(table_name, update_datas, where_clause)

with open('{0}.sql'.format(file_name), 'w') as fw:
for idx in range(1, ws.max_row):
sql = makeSql(table_name, row_name_value(idx)) + '\n'
fw.write(sql)


'P > Python' 카테고리의 다른 글

DB 설치  (0) 2016.12.10

설정

트랙백

댓글

perf

P 2017. 4. 26. 20:13

javascript 

- https://jsperf.com/

'P' 카테고리의 다른 글

이클립스, 소스트리 사용시 주의할 점  (0) 2015.03.18
Code Convention  (0) 2014.07.04
패턴 모음집  (0) 2014.06.21

설정

트랙백

댓글

DB 설치

P/Python 2016. 12. 10. 15:08

sudo pip install MySQL-python


xcode  미설치 에러 - error: command 'cc' failed with exit status 1

Xcode 설치 되어있으며 됨.


unsafe 에러 - /Library 접근시 권한이 없어서 안되는듯싶음.

http://stackoverflow.com/questions/31343299/mysql-improperly-configured-reason-unsafe-use-of-relative-path

'P > Python' 카테고리의 다른 글

엑셀 SQL 구문 추출  (0) 2017.06.12

설정

트랙백

댓글

이클립스와 소스트리를 동시에 사용할 경우, 조심해야할 부분이 생기기 마련이다.


분명 소스트리에서 git pull이나 브랜치 이동이 되었을 경우, 소스가 바뀌어야지 정상이다.


하지만 변경이 되지 않고 그대로 유지되는 부분이 발생을 하게 된다!


이럴때엔 해당 파일을 초기화 시키면 되는 데, 그것도 먹히지 않는다.


이런 문제가 발생하는 원인은 해당 파일을 이클립스에서 사용하고 있기 때문이다.


따라서 해당 프로젝트를 close한 다음 소스를 받고 다시 실행시키자.


그러면 소스 불일치 문제는 발생하지 않을 것이다.

'P' 카테고리의 다른 글

perf  (0) 2017.04.26
Code Convention  (0) 2014.07.04
패턴 모음집  (0) 2014.06.21

설정

트랙백

댓글

 이번에는 파워목업 플러그인을 소개하고자 한다.

 

기획을 하기위해선 필요한 부분인 와이어프레임이다.

와이어프레임을 짜기 위해선 여러가지 다양한 방법이 있지만 우리는 파워포인트와 연동하여 사용할 수 있는 좋은 파워목업 플러그인을 사용하는 것이 효율적이고 빠르게 기획을 할 수가 있다.

 

우선 파워목업에서는 다양한 아이템들이 존재한다.

그림과 같이 여러가지 도구들이 있는데, 다양한 도구들을 사용하기 위해선 try 버젼을 업그레이드를 해야한다.

비록 비용이 들지만 포스팅을 하거나  www.powermockup.com/ 사이트에 들어가면 업그레이드 하는 방법이 존재한다.

 

 

 

 

이후 간단하게 목업을 짠 상태의 와이어프레임이다.

빠르고 간단하게 짤 수 있다는 것이 장점이고 이용하기 편하고 파워포인트와 연동되어 파워포인트의 여러가지 도구들도 섞어서 쓸수 가 있어서 좋다.

 

 

기획자가 만약에 와이어프레임을 짜게 된다면 빠르고 훌륭하게 짤 수 있는 도구로써 애용해서 사용하는 것이 좋지 않을까 싶다.

 

 

설정

트랙백

댓글

Code Convention

P 2014. 7. 4. 01:28

자바 -> LoveFlowerFogDarling
Objective-C -> LoveFlowerFogDarling
JS -> love_flower_fog_darling
PHP -> love_flower_fog_darling

 

 

'P' 카테고리의 다른 글

perf  (0) 2017.04.26
이클립스, 소스트리 사용시 주의할 점  (0) 2015.03.18
패턴 모음집  (0) 2014.06.21

설정

트랙백

댓글

소스 : https://github.com/BoBinLee/CompetitionSystem

 

http://180.229.34.39:8080/competition_system_01

 

 

 

 

 

'P > Project' 카테고리의 다른 글

Soft Home - 학과 홈페이지  (0) 2014.06.28
그림 퍼즐 GUI 프로그램 ( 1405 )  (0) 2014.06.28

설정

트랙백

댓글

SoftHome

- 소스 : https://github.com/BoBinLee/SoftHome

 

 

 

 

 

'P > Project' 카테고리의 다른 글

Competition System - 경진대회시스템  (0) 2014.06.28
그림 퍼즐 GUI 프로그램 ( 1405 )  (0) 2014.06.28

설정

트랙백

댓글

소스 : https://github.com/BoBinLee/PuzzleProject/tree/master

 

 

 

 

 

 

 

'P > Project' 카테고리의 다른 글

Competition System - 경진대회시스템  (0) 2014.06.28
Soft Home - 학과 홈페이지  (0) 2014.06.28

설정

트랙백

댓글

패턴 모음집

P 2014. 6. 21. 12:51

telephone - pattern="([0-9]{3}) [0-9]{3}-[0-9]{4}

 

 

'P' 카테고리의 다른 글

perf  (0) 2017.04.26
이클립스, 소스트리 사용시 주의할 점  (0) 2015.03.18
Code Convention  (0) 2014.07.04

설정

트랙백

댓글