스크립팅 I로 일상의 지루한 작업 자동화
4653 단어 scriptingautomationtip
유스케이스 1: 긴 레코드 ID 목록이 있고 데이터베이스 테이블에서만 표시/업데이트하고 싶습니다.
with open('id_list.txt') as f:
id_list = f.read().split('\n')
print(f"select * from my_table where id in {tuple(id_list)}")
tuple
데이터 유형은 Python에서 괄호 사이에 쉼표로 구분된 값으로 표시되며 여기에서 where in
쿼리가 필요합니다.사용 사례 2: PostgreSQL에서 한 테이블을 다른 테이블로 마이그레이션해야 합니다.
이 경우 이전 데이터베이스 테이블을 새 테이블로 마이그레이션해야 합니다. 열 이름이 다를 수 있고 일부 열이 제거되거나 다시 매핑될 수 있으며 새 테이블에는 다른 열/테이블에서 집계된 데이터를 포함하는 새 열이 있을 수 있습니다.
새 테이블을 매핑하는 이전 테이블을 사용하여 보기/구체화된 보기를 만들었습니다. 구체화된 뷰의 출력에서 삽입 쿼리를 반환하는 작은 SQL 스크립트를 다음과 같이 작성합니다.
select format('insert into table_v2 (field_a, field_b, field_c, ...) values (%L, %L, %L,...);', field_a, field_b, field_c,..)
from table_v2_mw
%L
format string은 여기에서 인용 및 null 값을 처리합니다.이 방법은 한 번에 복잡한 변경 사항을 적용하고 보고하는 데 매우 유용합니다. 내보낸 삽입/업데이트 쿼리 목록을 Jira에 첨부할 수 있습니다.
사용 사례 3: 스프레드시트가 싫습니다.
데이터로 작업하는 경우 Excel/CSV 파일은 업계 표준입니다. 때로는 그것들을 조작해야 하고 스프레드시트 소프트웨어는 간단한 작업에서도 일반적으로 형편없습니다. 부풀려진 중첩 IF 및 무의미한 함수와 싸우는 대신 CSV 형식으로 변환하고 Python에서 조작하는 것을 선호합니다. 또한 Python은 Pandas의 도움으로 정말 큰 CSV 파일을 처리할 수 있습니다.
with open("some_file_revised.csv", "w+") as csv_out:
with open("some_file.csv") as csv_in:
csv_reader = csv.DictReader(csv_in)
csv_writer = csv.DictWriter(csv_out, fieldnames=csv_reader.fieldnames)
csv_writer.writeheader()
for row in csv_reader:
# Manipulate data here
row["foo"] = row["foo"][4:]
csv_writer.write(row)
Reference
이 문제에 관하여(스크립팅 I로 일상의 지루한 작업 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/furkan_kalkan1/automate-everyday-boring-tasks-with-scripting-i-1de0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)