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

    SeleniumでChromeが立ち上がらない

    SeleniumでChromeが立ち上がらない Pythonでスクレイピングする時にSeleniumでChromeを立ち上げますが、その際に以下のエラーが出てブラウザが起動しない場合があります。その時の解決方法です。 解 […]

    Posted on by press
    Python

    生成したリスト同士を計算する方法

    リストをループで生成してリスト同士を計算する方法です。サンプルでは、[0, 1, 2, 3, 4]のリストを3個生成して計算します。 loopOneで3を代入しているのでリストを3回計算します。loopTwoで5を代入し […]

    Posted on by press