반응형

[python] 한글 자음 확인해서 치환하기 

 

""" 한글 자음인지 확인 
"""
# Define the list of Korean initial consonants (초성)
INITIAL_CONSONANTS = [
    'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 
    'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 
    'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
]

def is_korean_char(ch):
    """Check if the character is a Korean syllable."""
    return 0xAC00 <= ord(ch) <= 0xD7A3

def get_initial_consonant(ch):
    """Extract the initial consonant from a Korean syllable."""
    if not is_korean_char(ch):
        return None  # or you could return an empty string or raise an exception
    
    # Calculate the index for the initial consonant
    initial_index = (ord(ch) - 0xAC00) // (21 * 28)
    return INITIAL_CONSONANTS[initial_index]

# Example usage
sentence = "안녕하세요"
initials = [get_initial_consonant(ch) for ch in sentence if is_korean_char(ch)]
print(''.join(initials))  # Output: ㅇㄴㅎㅅㅇ
반응형
반응형

https://pypi.org/project/chardet/

 

Project description

Chardet: The Universal Character Encoding Detector

 
 
 
Detects
  • ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)
  • Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese)
  • EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese)
  • EUC-KR, ISO-2022-KR, Johab (Korean)
  • KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic)
  • ISO-8859-5, windows-1251 (Bulgarian)
  • ISO-8859-1, windows-1252, MacRoman (Western European languages)
  • ISO-8859-7, windows-1253 (Greek)
  • ISO-8859-8, windows-1255 (Visual and Logical Hebrew)
  • TIS-620 (Thai)

Note

Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily disabled until we can retrain the models.

Requires Python 3.7+.

반응형
반응형

알베르트 아인슈타인은 호기심과 질문을 성장에 있어서 가장 중요한 요소라고 강조했습니다. 그러면서 이런 명언을 남겼습니다.

 

  • 내 인생을 결정짓는 문제가 주어진다면, 나는 55분을 올바른 질문을 찾는데 사용하고, 5분을 정답을 찾는데 쓸 것이다.
  • “If I had an hour to solve a problem and my life depended on the solution, I would spend the first 55 minutes determining the proper question to ask for once I know the proper question, I could solve the problem in less than five minutes.”
반응형
반응형

눈깔사탕과
다이아몬드를 바꾼 사람들
"나는 성공할 수 없어."
"아무리 노력해 봐야 내 꿈은 이뤄지지 않아."
이렇게 말하는 사람들의 공통점은 대부분 자신감이
결여된 사람들이다. "자신감을 가질 게 있어야 갖지.
나같이 평범한 사람이 무슨..." 자신감은 특별한
사람에게만 있는 것이 아니다. 단지 자신 안에
있는 잠재력과 능력을 보지 못하고 스스로
하찮게 여김으로 잠재력을 개발하지
못하는 것이다.


- 류태영의 《나는 긍정을 선택한다》 중에서 -


* 보물상자를 깔고 앉아
구걸을 하는 걸인의 우화가 있습니다.
우리 모두는 때때로 이와 같습니다. 몸을 일으켜
상자를 열어 보는 시도만 해도 그 안에 값진 보물이
들어 있다는 것을 알게 될 것인데 말입니다. 눈깔사탕
하나에 다이아몬드를 바꾼 인생이 허다합니다.
그렇다면 선택지는 자명해집니다. 지금 당장
자신의 내면을 들여다보고 그 안에 숨겨진
잠재력을 발견하는 것입니다.

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

차이  (0) 2024.03.25
요행을 바라는 사람들  (0) 2024.03.25
몸의 명상  (0) 2024.03.21
남들의 잘못 때문에  (0) 2024.03.20
표면 감정, 심층 감정  (0) 2024.03.19
반응형

단식을 하면
육체는 소화시킬 일이 없어진다.
그 기간에 육체는 죽은 세포와 각종 독성 물질을
밖으로 배출하는 일을 한다. 그대가 아무것도 먹지
않아서 육체가 아무것도 소화시킬 일이 없을 때,
육체는 스스로 청소를 시작한다. 그 과정은
자발적으로 일어나며, 육체는 불필요한
모든 것을 밖으로 배출한다.


-오쇼의《바디 마인드 밸런싱》중에서-


* 단식을 하면
놀라운 일을 경험하게 됩니다.
여러 가지 명현 현상도 체험합니다.
혀는 백태가 끼고, 구취가 심해지며, 먹은 것이
없는데도 배설물이 많아집니다. 몸 안에서 자체 정화가
일어나는 것입니다. 명상도 이와 같습니다. 명상하는
방에서는 엄청난 악취들이 나올 때가 있습니다.
몸에서도 끈적한 땀들이 배어 나옵니다.
단식은 몸의 명상입니다.

반응형
반응형

[python] 엑셀 읽고 쓰기 

 

https://pypi.org/project/openpyxl/

 

openpyxl

A Python library to read/write Excel 2010 xlsx/xlsm files

pypi.org

 

pip install openpyxl

 

반응형
반응형

[python] 한글 자음, 모음, 초성 추출하기 

 

# pip install jamotools 
# https://pypi.org/project/jamotools/
# A library for Korean Jamo split and vectorize. 
#
# 음절 분할 및 jamos를 음절에 결합하는 API는 hangul-utils 를 기반으로 합니다 .
# 
# Split_syllables : 음절 문자열을 jamos 문자열로 변환하고 유니코드 유형을 변환하도록 선택할 수 있습니다.
# Join_jamos : jamos 문자열을 음절 문자열로 변환합니다.
# Normalize_to_compat_jamo : jamos 문자열을 한글 호환성 Jamo 문자열로 정규화합니다 .
import jamotools

print(jamotools.split_syllable_char(u"안"))
#('ㅇ', 'ㅏ', 'ㄴ')

print(jamotools.split_syllables(u"안녕하세요"))
# ㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛ


sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
s = jamotools.split_syllables(sentence)
print(s, '\n')

""" ㅇㅏㅍ ㅈㅣㅂ ㅍㅏㅌㅈㅜㄱㅇㅡㄴ ㅂㅜㄺㅇㅡㄴ ㅍㅏㅌ ㅍㅜㅅㅍㅏㅌㅈㅜㄱㅇㅣㄱㅗ,
ㄷㅟㅅㅈㅣㅂ ㅋㅗㅇㅈㅜㄱㅇㅡㄴ ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ.ㅇㅜㄹㅣ
ㅈㅣㅂ ㄲㅐㅈㅜㄱㅇㅡㄴ ㄱㅓㅁㅇㅡㄴ ㄲㅐ ㄲㅐㅈㅜㄱㅇㅣㄴㄷㅔ ㅅㅏㄹㅏㅁㄷㅡㄹㅇㅡㄴ
ㅎㅐㅅㅋㅗㅇ ㄷㅏㄴㅋㅗㅇ ㅋㅗㅇㅈㅜㄱ ㄲㅐㅈㅜㄱ ㅈㅜㄱㅁㅓㄱㄱㅣㄹㅡㄹ
ㅅㅣㅀㅇㅓㅎㅏㄷㅓㄹㅏ. """

sentence2 = jamotools.join_jamos(s)
print(sentence2)
""" 앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집 깨죽은 검은 깨
깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라. """

print(sentence == sentence2)
# True


# 자음만 추출
def extract_vowels(text):
    vowels = set(['ㅏ', 'ㅑ', 'ㅓ', 'ㅕ', 'ㅗ', 'ㅛ', 'ㅜ', 'ㅠ', 'ㅡ', 'ㅣ', 'ㅐ', 'ㅒ', 'ㅔ', 'ㅖ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅢ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in vowels:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
vowels_only = extract_vowels(sentence)
print(vowels_only)
# ㅏㅣㅏㅜㅡㅜㅡㅏㅜㅏㅜㅣㅗㅟㅣㅗㅜㅡㅐㅗㅏㅗㅗㅜㅜㅣㅣㅐㅜㅡㅓㅡㅐㅐㅜㅣㅔㅏㅏㅡㅡㅐㅗㅏㅗㅗㅜㅐㅜㅜㅓㅣㅡㅣㅓㅏㅓㅏ


# 모음만 추출 
def extract_consonants(text):
    consonants = set(['ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'])
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            syllables = jamotools.split_syllables(char)
            for syllable in syllables:
                if syllable in consonants:
                    result += syllable
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
consonants_only = extract_consonants(sentence)
print(consonants_only)
# ㅇㅍㅈㅂㅍㅌㅈㄱㅇㄴㅂㅇㄴㅍㅌㅍㅅㅍㅌㅈㄱㅇㄱㄷㅅㅈㅂㅋㅇㅈㄱㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㅇㄹㅈㅂㄲㅈㄱㅇㄴㄱㅁㅇㄴㄲㄲㅈㄱㅇㄴㄷㅅㄹㅁㄷㄹㅇㄴㅎㅅㅋㅇㄷㄴㅋㅇㅋㅇㅈㄱㄲㅈㄱㅈㄱㅁㄱㄱㄹㄹㅅㅇㅎㄷㄹ


# 초성만 추출 
def extract_initial_consonants(text):
    result = ''
    for char in text:
        if '가' <= char <= '힣':  # Check if the character is Hangul
            initial_consonant = jamotools.split_syllable_char(char)[0]
            result += initial_consonant
    return result

sentence = u"앞 집 팥죽은 붉은 팥 풋팥죽이고, 뒷집 콩죽은 햇콩 단콩 콩죽.우리 집  깨죽은 검은 깨 깨죽인데 사람들은 햇콩 단콩 콩죽 깨죽 죽먹기를 싫어하더라."
initial_consonants_only = extract_initial_consonants(sentence)
print(initial_consonants_only)
반응형
반응형

살다 보면
남들의 잘못된 언행 때문에
화가 나는 경우가 있습니다. 하지만
그 사람에게 똑같이 당했어도 누구는
화를 크게 내고 누구는 그다지 화를 내지 않는
경우를 볼 수 있습니다. 물론 사람마다 보는
것이나 생각하는 게 달라서 그럴 수도
있고, 인내심의 크기나 마음의 깊이가
달라서 그럴 수도 있습니다.


- 김연수의 《정견》 중에서 -


* 화가 나는 것은
여러 원인이 있습니다.
내가 나 때문에 화가 나기도 하고
남의 잘못 때문에 화가 치솟기도 합니다.
나의 생각과 가치관에서 벗어나는 경우, 자존감에
손상을 입는 경우, 그 모든 것에는 '나'라는 틀이 작동돼
마음의 불꽃이 일어납니다. 이 틀을 부숴버릴 때,
상대와 내가 다르지 않음을 알게 됩니다.
비로소 연민이 생기며, 있는 그대로
받아들이게 됩니다.

반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

눈깔사탕과 다이아몬드를 바꾼 사람들  (0) 2024.03.22
몸의 명상  (0) 2024.03.21
표면 감정, 심층 감정  (0) 2024.03.19
머리를 쥐어짜며 버텨본다  (0) 2024.03.18
새봄  (0) 2024.03.18

+ Recent posts