PythonでCSVファイルを読み込む際、カンマが含まれるテキストに対応する方法について説明します。

CSVファイルの読み込み

PythonでCSVファイルを読み込む際、csv_line.split(',')のようにしてデータの取り込みを行うと、カンマが含まれるテキストに対応できません。例えば、’1,2,3,3,4’というテキストがあったら、[‘1’, ‘2’, ‘3,3’, ‘4’]のように分割したい場合があります。

解決策

正規表現を使用する方法

正規表現を使用して、カンマをエスケープする方法があります。以下にそのコードを示します。

import re
s = '1,2,3\\,3,4'
re.split(r"(?<!\\),", s)

このコードは、バックスラッシュでエスケープされていないカンマで文字列を分割します。

csvモジュールを使用する方法

また、Pythonのcsvモジュールを使用すると、エスケープ処理を自動的に行ってくれます。以下にそのコードを示します。

import csv
with open("hoge.csv", "r") as f:
    for row in csv.reader(f):
        print(row)

このコードは、CSVファイルを読み込み、各行をリストとして出力します。この方法では、エスケープも不要です。

以上がPythonでCSVファイルを読み込む際のカンマエスケープについての説明です。これらの方法を試してみてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です