Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Jae-Hwan edited this page Nov 30, 2021 · 5 revisions

누락된 투수 자료 넣기

아래와 같은 형식으로 자료를 넣는다.

home_pitchers ='''
투수명,이닝,피안타,실점,자책,4사구,삼진,피홈런,타자,타수,투구수,경기,승리,패전,세이브,평균자책
송승준,6,9,2,2,3,3,0,29,26,94,1,0,0,0,3.00
김이슬,0 1⁄3,0,0,0,0,0,0,1,1,6,1,0,0,0,0.00
이정민,0 2⁄3,0,0,0,0,0,0,1,1,1,1,1,0,0,0.00
강영식,1,0,0,0,0,2,0,3,3,10,1,0,0,0,0.00
애킨스,1,0,0,0,0,0,0,3,3,13,1,0,0,1,0.00
'''
home_pitchers_patch = {"송승준":{"등판":"선발"}, "이정민":{"결과": "승"}, "강영식": {"결과":"홀드"}, "애킨스": {"결과":"세"}, "팀": "롯데"}

아래 함수를 이용한다.

def changing_naver_pitchers_txt_to_csv(pitchers):
 pitchers_list = []
 reader = csv.reader(pitchers.split('\n'), delimiter=',')
 for row in reader:
 pitchers_list.append(row)
 return pitchers_list
def changing_naver_pitchers_col_name(pitchers_text):
 # 아래 첫번째 줄 코드는 트릭이다. 저장할 때 보기 좋게 하기 위해서
 # 아래위로 엔터를 넣는데 그걸 제거하는 것이다. 
 temp_pitchers = pitchers_text[1:-1]
 temp_pitchers = temp_pitchers.replace("투수명","선수명")
 temp_pitchers = temp_pitchers.replace("승리","승")
 temp_pitchers = temp_pitchers.replace("패전","패")
 temp_pitchers = temp_pitchers.replace("세이브","세")
 temp_pitchers = temp_pitchers.replace("피홈런","홈런")
 temp_pitchers = temp_pitchers.replace("평균자책","평균자책점")
 
 return temp_pitchers
def changing_naver_pitchers_csv_to_json(pitchers_list, pitchers_patch):
 total_pitchers_list = []
 for pitcher in pitchers_list[1:]:
 i = 0
 temp_data = {}
 for item in pitcher:
 temp_data['팀'] = pitchers_patch['팀']
 temp_data[pitchers_list[0][i]] = item
 i = i + 1
 if temp_data['선수명'] in pitchers_patch.keys():
 if len(pitchers_patch[temp_data['선수명']]) == 2:
 temp_data['등판'] = pitchers_patch[temp_data['선수명']]['등판']
 temp_data['결과'] = pitchers_patch[temp_data['선수명']]['결과']
 else:
 if '등판' in pitchers_patch[temp_data['선수명']]:
 temp_data['등판'] = pitchers_patch[temp_data['선수명']]['등판']
 temp_data['결과'] = 0
 else:
 temp_data['등판'] = 0
 temp_data['결과'] = pitchers_patch[temp_data['선수명']]['결과']
 total_pitchers_list.append(temp_data)
 return total_pitchers_list

작동법

def pitchers_data():
 temp = fix.changing_naver_pitchers_col_name(home_pitchers)
 temp = fix.changing_naver_pitchers_txt_to_csv(temp)
 temp = fix.changing_naver_pitchers_csv_to_json(temp, home_pitchers_patch)
 print(temp)

결과

[{'팀': '롯데', '선수명': '송승준', '이닝': '6', '피안타': '9', '실점': '2', '자책': '2', '4사구': '3', '삼진': '3', '홈런': '0', '타자': '29', '타수': '26', '투구수': '94', '경기': '1', '승': '0', '패': '0', '세': '0', '평균자책점': '3.00', '등판': '선발', '결과': 0}, {'팀': '롯데', '선수명': '김이슬', '이닝': '0 1⁄3', '피안타': '0', '실점': '0', '자책': '0', '4사구': '0', '삼진': '0', '홈런': '0', '타자': '1', '타수': '1', '투구수': '6', '경기': '1', '승': '0', '패': '0', '세': '0', '평균자책점': '0.00'}, {'팀': '롯데', '선수명': '이정민', '이닝': '0 2⁄3', '피안타': '0', '실점': '0', '자책': '0', '4사구': '0', '삼진': '0', '홈런': '0', '타자': '1', '타수': '1', '투구수': '1', '경기': '1', '승': '1', '패': '0', '세': '0', '평균자책점': '0.00', '등판': 0, '결과': '승'}, {'팀': '롯데', '선수명': '강영식', '이닝': '1', '피안타': '0', '실점': '0', '자책': '0', '4사구': '0', '삼진': '2', '홈런': '0', '타자': '3', '타수': '3', '투구수': '10', '경기': '1', '승': '0', '패': '0', '세': '0', '평균자책점': '0.00', '등판': 0, '결과': '홀드'}, {'팀': '롯데', '선수명': '애킨스', '이닝': '1', '피안타': '0', '실점': '0', '자책': '0', '4사구': '0', '삼진': '0', '홈런': '0', '타자': '3', '타수': '3', '투구수': '13', '경기': '1', '승': '0', '패': '0', '세': '1', '평균자책점': '0.00', '등판': 0, '결과': '세'}]

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /