Navigation

Related Articles

Back to Latest Articles

Pythonで文字列をリスト化して一文字づつ処理


press
Pythonで文字列をリスト化して一文字づつ処理

Pythonで文字列をリスト化して一文字づつ処理

Pythonで文字列をリスト化して一文字づつ処理する方法です。サンプルでは一文字づつ文字をshift-jisに変換して、変換できない文字を表示します。

開発環境

$ python -V
Python 3.7.0

$ tree
├── text.txt
└── word_list.py

ソースコード

text.txt

吾輩は猫である。名前はまだ無い。«

word_list.py

path = 'text.txt'
with open(path) as f:
    words = f.read()

for word in (list(words)):
    try:
        word.encode('shift-jis')
    except UnicodeEncodeError:
        print(word)

解説

path = 'text.txt'
テキストファイルのパスを指定
with open(path) as f:
words = f.read()

テキストファイルから文字列を読込
for word in (list(words)):
try:
word.encode('shift-jis')
except UnicodeEncodeError:
print(word)

(list(words))で文字列をリスト化
word.encode(‘shift-jis’)で文字をshift-jisに変換
except UnicodeEncodeError:で変換できなかった場合の処理
print(word)で変換んできなかった文字を表示

結果

テキストファイルの文字列の中にshift-jisに変換できない文字が入っているので、”«”と変換できない文字が表示されます。

補足

(list(words))で文字列はこのようにリスト化されます。

['吾', '輩', 'は', '猫', 'で', 'あ', 'る', '。', '名', '前', 'は', 'ま', 'だ', '無', 'い', '。', '«']

当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




    Show Comments (0)

    Comments

    Related Articles

    Python

    Pythonのdatetimeで日付、時間の計算(2)

    Pythonのdatetimeで日付、時間の計算(2) 前回からの続きです。 今回は、曜日を取得したり、特定の曜日の日付を取得します。後半は文字列とdatetimeの変換について説明します。 開発環境 本日の曜日を取得 […]

    Posted on by press
    Django

    Dockerを使ってDjangoとPostgreSQL環境を構築(2)

    前回の内容が古くなってしまったので2021年版に更新します。 Dockerを使ってシンプルなDjangoとPostgreSQLの開発環境を構築する方法の2021年版です。以下の点が前回より変わった点です。・Volumeを […]

    Posted on by nobnov