Pythonでは、CSVファイルやテキストファイルを操作する際に、デリミタ(区切り文字)を指定することがよくあります。デリミタは、データフィールドを区切るための文字や文字列で、CSVファイルでは通常カンマが使用されます。
Pythonのcsv
モジュールを使用すると、デリミタを自由に設定することができます。以下に、デリミタをスペースに設定してCSVファイルを読み込む例を示します。
import csv
with open('eggs.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
print(', '.join(row))
このコードでは、csv.reader
関数のdelimiter
パラメータにスペースを指定しています。これにより、スペースで区切られたデータを正しく読み込むことができます。
また、pandas
ライブラリのread_csv
関数を使用すると、正規表現をデリミタとして指定することも可能です。以下にその例を示します。
import pandas as pd
df = pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
このコードでは、delimiter
パラメータに\s+
という正規表現を指定しています。\s
は空白文字を表し、+
は1つ以上の繰り返しを表します。したがって、\s+
は1つ以上の空白文字を表します。
以上のように、Pythonではデリミタを自由に設定することができ、データの読み書きを柔軟に行うことが可能です。