Programming/python 38

[파이썬] Python에서 XML 파일 다루는법 - XPath에 대해서 알아보자.

XML 파일을 그냥 읽으면 parsing되지않고, 모두 이어진 텍스트로 읽혀 가독성이 매우 좋지않다. 이를 가독성 좋게 읽기 위해서는 우선 python에서 지원하는 xml parsing 도구를 사용할 수 있다.보편적으로 아래와 같은 코드로 xml 파일을 읽어들이게 된다.import xml.etree.ElementTree as ETtree = ET.parse(xml_path)root = tree.getroot() 아래의 코드로 root에 저장된 내용을 각 계층에 맞게 출력해주면 가독성 좋은 텍스트로 출력할 수 있다.def print_xml_structure(elem, level=0): indent = '\t' * level print(f"{indent}") if elem.text: ..

Programming/python 2024.05.16

Anaconda없이 Python 가상환경 만들기

리눅스에서 진행했습니다. 공식 Document 12. Virtual Environments and PackagesIntroduction: Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the ...docs.python.org  1. 가상환경을 지원하는 툴을 설치합니다. (이미 설치되어있다면 2번부터 진행해주세요.)sudo apt install python3.8-venv 2. 원하는 위치에 가상환경 폴더를 생..

Programming/python 2024.04.08

PySpark SQL 시작하기

https://spark.apache.org/docs/latest/sql-getting-started.html#getting-started Getting Started - Spark 3.5.0 Documentation spark.apache.org 공식문서를 참고하여 작성하였습니다. 1. Starting Point : SparkSession 먼저 java를 먼저 설치하고, java/bin 경로를 환경변수로 설정해야한다. - java 설치 - 리눅스에서 java 환경변수로 설정하는 방법 셋팅을 완료하였다면 아래의 코드로 Session을 생성해준다. from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python S..

Programming/python 2024.01.04

대용량 JSON파일 처리하기. python ijson

먼저, 기존에 사용하던 기본 내장 패키지인 json과의 차이를 ChatGPT를 통해 알아보자. You : python 패키지로 제공되는 json과 ijson의 차이점을 장단점과 함께 설명해줘 ChatGPT : Python에서 제공되는 json과 ijson은 모두 JSON 데이터를 처리하기 위한 패키지입니다. 그러나 두 패키지는 데이터를 다루는 방식과 목적에 있어 몇 가지 차이가 있습니다. 1. json: - 장점 : 표준 라이브러리로 내장되어 있어 추가적인 설치가 필요하지 않음. 사용하기 쉽고 간단한 인터페이스를 제공함. 작은 JSON 데이터를 처리하는 데에는 효과적. - 단점 : 대용량의 JSON 파일 또는 대규모 JSON 스트림을 처리할 때는 메모리 사용량이 많을 수 있음. 한 번에 전체 JSON을 ..

Programming/python 2024.01.04

PyCharm에서 anaconda 가상환경 구축하기

https://docs.anaconda.com/free/anaconda/ide-tutorials/pycharm/ Using PyCharm — Anaconda documentation Using PyCharm PyCharm is an IDE that integrates with IPython Notebook, has an interactive Python console, and supports Anaconda as well as multiple scientific packages. PyCharm also supports creating virtual environments for Python with conda. This topic w docs.anaconda.com 제 글을 읽지않고, 위의 공식문서를 바..

Programming/python 2023.11.17

[Python] 시뮬레이션 알고리즘 (Simulation Algorithm) - 게임 개발 (문제 예제)

시뮬레이션 알고리즘 (Simuliation Algorithm)은 말 그대로 어떤 문제에서 제시된 수행 조건들을 한 단계씩 순서대로 수행하도록 구현하는 알고리즘이다. 보통 캐릭터를 2차원 공간의 게임 맵안에서 이동시키는 구현에 많이 사용된다. 아래가 시뮬레이션 알고리즘의 예제이다. 게임 개발 N * M 직사각형의 게임판 (3

Programming/python 2023.08.17

파이썬 any(), all() 기능은 무엇인가?

any(), all() 함수는 파이썬에서 제공하는 기본 내장함수로 배열 형태를 가지는 iterable 변수인 리스트, 튜플 등이 boolean 원소를 가질 때, any()는 True가 하나라도 있을 때, True를 반환하고 all()은 모든 원소가 True일 때, True를 반환하는 기능을 한다. 예를 들어, 아래와 같은 boolean을 원소로 가지는 리스트가 있다고 해보자.l1 = [True, False, True]이때, any(), all()함수는 아래와 같은 결과를 출력한다.any(l1) # return True all(l1) # return False False인 경우는 0이나 " "와 같은 빈 값같은 경우가 될 수 있고, 그 이외의 숫자에는 True가 출력된다.l2 = [0, False, '',..

Programming/python 2023.07.15

프로그래머스 연습 문제 > 정렬 > 가장 큰 수

문제 설명0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예numbersreturn[6, 10, 2]"62..

Programming/python 2023.07.15

[파이썬 기초] 문자열(string) 앞뒤로 원하는 문자 붙이기

1. string.rjust(n, chr) 총 n의 문자열 길이 중에서 string 문자열은 오른쪽에 정렬하고, 남은 공간에 chr로 채운다는 의미 "123".rjust(5, "0") # '00123' 2. string.ljust(n, chr) 총 n의 문자열 길이 중에서 string 문자열은 왼쪽에 정렬하고, 남은 공간에 chr로 채운다는 의미 "123".ljust(5, "0") # '12300' 3. string.zfill(n) 1번과 동일하게 작동하나 지정 chr 옵션이 없고, 무조건 0을 채운다. "123".zfill(5) # '00123'

Programming/python 2023.05.11