Python: TSVファイルのデータを辞書(dict)型に格納する
PythonでTSVファイル(TAB区切り)のデータをディクショナリに格納するコードを示します。
TSVファイルのカラム名は(ID, NAME, AGE)とします。
サンプルコード
import csv def load_tsv_to_dict(file_path): data_dict = {} with open(file_path, 'r', encoding='utf-8') as file: tsv_reader = csv.DictReader(file, delimiter='\t') for row in tsv_reader: data_dict[row['ID']] = {'NAME': row['NAME'], 'AGE': row['AGE']} return data_dict # TSVファイルのパス tsv_file_path = 'sample_data.tsv' # 関数を呼び出してデータを読み込む result = load_tsv_to_dict(tsv_file_path) # 結果を表示 print(result)
サンプルデータ
以下のような内容の sample_data.tsv ファイルがあると仮定します:
ID NAME AGE 1 John 30 2 Alice 25 3 Bob 35 4 Emma 28 5 David 40
注意: TSVファイルでは、各列がタブ文字(\t)で区切られています。
サンプルコードの実行結果
上記のコードを実行すると、以下のような結果が得られます:
{ '1': {'NAME': 'John', 'AGE': '30'}, '2': {'NAME': 'Alice', 'AGE': '25'}, '3': {'NAME': 'Bob', 'AGE': '35'}, '4': {'NAME': 'Emma', 'AGE': '28'}, '5': {'NAME': 'David', 'AGE': '40'} }
このコードでは、TSVファイルの各行を読み込み、'ID'列をキーとし、'NAME'と'AGE'の情報を内部ディクショナリとして値に持つ形でデータを格納しています。
注意点:
- csv.DictReaderのdelimiterパラメータを'\t'に設定することで、TAB区切りのファイルを正しく読み込めます。
- ファイルのエンコーディングが異なる場合は、open関数のencodingパラメータを適切に設定してください。
- エラー処理を追加することで、ファイルが存在しない場合やフォーマットが不正な場合にも適切に対応できます。
- AGEの値は文字列として格納されています。必要に応じて整数に変換することもできます。