본문 바로가기
반응형

IT/Python34

파이선에서 파일 읽고 쓰기 이전 포스팅에서 pandas를 사용하여 파일을 읽고 쓰는 방법을 소개한 적이 있다. 자세한 내용은 아래 참고 포스팅을 확인 바란다. 이번 포스팅에서는 pandas 활용이 아닌 순수 python으로 파일을 읽는 방법을 소개하려고 한다. 파일 읽기 file = open('file.txt','r') while True: ll = file.readline() if not ll : break; file.close() 파일 쓰기 file = open('file.txt','w') file.write('text') file.close() 이렇게 파일을 읽고 쓸수 있다. 참고 포스팅 https://thenicesj.tistory.com/386 read_csv() csv파일 읽기 pandas를 이용해 csv 파일을 불러오.. 2023. 1. 16.
단어가 영어인지 아닌지 확인법 파이선에서는 isalpha 이름의 메서드가 있다. word = "Hello" if word.isalpha(): print("It is an alphabet") word = "123" if word.isalpha(): print("It is an alphabet") else: print("It is not an alphabet") 위에인 경우엔 영어라서 if 의 경우가 참으로 나오고 아래의 경우는 영어가 아니라서 아래의 결과가 나온다. 숫자 뿐 아니라 한글이나 공백이나 특수 문자 역시 영어가 아닌거로 체크를 하니 주의하도록 하자. 그리고 또 한가지의 방법은 파이선 뿐 아니라 다른 프로그래밍언어에서도 사용할 수 있는 정규 표현식이다. import re word="hello" reg = re.compile(r.. 2022. 12. 29.
모듈 경로 알아내기 파이선을 사용하는것 뿐 아니라 어떤 프로그램을 사용하더라도 사용할때 모듈이나 라이브러리 의 경로를 알아야할 필요가 있다. 수동으로 집어 넣을 경우도 있고 직접적으로 readme 같은 파일을 보거나 특정 버전으로 압축하기 등에 대해서 사용이 되곤 한다. 파이선에서는 모듈의 위치를 알아내는 법은 간단하다. 그냥 print 문을 사용하면 된다. 자신에게 설치되어있는 모듈을 임포트 한 후에 해당 모듈을 print 하면 경로가 나온다. import numpy as np print(np) 하면 된다. 2022. 12. 27.
SyntaxError: Non-UTF-8 code starting with '\xea' in file <FilePath> but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 파이선에서 스트링을 읽어서 파싱하는 작업 도중 다음 에러가 발생하였다. syntaxError: Non-UTF-8 code starting with '\xea' in file but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 아마 encoding이 뭔가 잘못된 에러인것 같다. 해결법은 생각보다 간단했다. 파일 자체에서 인코딩을 인식하게 하기 위해 코드 제일 상단에 # -*- coding: utf-8 -*- 를 삽입하면 된다. 에러메세지에 있는 사이트를 들어가보면 더 자세히 확인이 가능하다. https://peps.python.org/pep-0263/ PEP 263 – Defining Python Source Code.. 2022. 12. 26.
파이선 리스트 중복 제거 파이선에서 리스트에 중복 제거하는 방법이다. 다양한 방법이 있지만 직관적으로 가장 쉽게 이해 되는것이 다음 방법이어서 적어둔다. arr = [1,1,2,2,5,5,4,4,2,5,3,7] result = [] # 중복 제거된 값들이 들어갈 리스트 for value in arr: if value not in result: result.append(value) print(result) 파이선은 고급프로그래밍 언어 답게 사람과 친숙한 단어들의 문법도 존재하여 not in 같이 존재하는지 여부를 판단후에 별도 리스트로 담아주면 중복 제거가 가능하다. 2022. 12. 13.
파일 복사 파이선에서 자동화 코드를 돌리다보니 파일을 생성해야할 일이 생겼다. 파이선에서 파일 복사는 shutil 라이브러리를 사용한다. import shutil shutil.copyfile("./test1/test1.txt", "./test2.txt") shutil.copy("./test1/test1.txt", "./test3.txt") shutil.copy2("./test1/test1.txt", "./test4.txt") 메서드가 copyfile / copy / copy2 가 있는데 각각의 차이는 copyfile / copy 는 메타정보가 복사 되지 않고 copy2는 메타정보까지 복사를 한다. copy2로 하게 되면 작성한 날짜까지 복사가 된다. 2022. 11. 30.
파이선 3.11 에 대해서 얼마전 파이선 시장에서 흥미로운 얘기가 나왔다. 바로 파이선 3.11 버전의 출시였다. 기존까지 계속해서 출시가 되어왔는데 왜 이번에는 이렇게 주목을 받느냐. 그것은 바로 아래와 같은 이유들 때문이다. Faster CPython 파이썬 3.11 버전은 이전 버전에 비해 (3.10) 전반적인 실행 속도가 10%~60% 정도, 평균적으로는 25% 정도 빨라졌다고 한다. 설명만으로는 와닿지 않으니 한번 테스트를 해 보면 아래와 같다. import time def timer(function): def tictoc(*args, **kwargs): start = time.time() function(*args, **kwargs) print(f"Elapsed time: {(time.time() - start) * 1.. 2022. 11. 14.
cx_Oracle 이란? 파이선에서 oracle을 사용하기 위한 방법중 하나는 cx-oracle library를 사용하는 것이다. 일단 python에서 라이브러리를 사용하기 위해서는 pypi.org 사이트에 접속하여 cx-oracle 을 접속하여 tar나 whl 파일을 설치한다. 다음 코드에서 사용은 다음과 같다. import cx_Oracle as oci userid = 'id' passwd = 'passwd' host = 'ip:port/SID명' conn = oci.connect(userid, passwd, host, encoding='UTF-8') cur = conn.cursor() 그리고 insert 와 select 에 대한 쿼리는 아래와 같다. #insert list =[ (1,2,3), (4,5,6), (7,8,9).. 2022. 11. 12.
read_csv() csv파일 읽기 pandas를 이용해 csv 파일을 불러오기 위해서는 아래와 같이 pandas를 먼저 import 그리고 약어로 지정한 pd를 사용하여 read_csv함수를 통해 csv 파일 import pandas as pd data = pd.read_csv('파일경로/파일이름.csv') csv파일 예시 CSV는 Comma Seperated Value의 약자로 ',' 쉼표(comma)로 분리된 텍스트 파일 예를 들면 아래와 같이 쓰여져 있는 텍스트 파일 이름, 성별, 키 데이콘, 남자, 180 홍길동, 남자, 175 아이유, 여자, 163 파라미터 read_csv는 여러가지 파라미터를 통해서 옵션을 줄 수 있고 더 많은 파라미터를 자세하게 확인하고 싶으시다면 판다스 공식 문서를 확인 filepath o.. 2022. 11. 8.
반응형