本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。
構造化されたテキストファイル
- 単純なテキストファイルだと、情報を探すのが大変なので、構造的なデータを作るのが一般的
- これらの構造化ファイル形式を読み書きのPythonモジュールが提供されている
- 良く使われる形式は下記のようになる
形式 | 形式や言語 | 特徴 |
---|---|---|
CSV | Comma-Seperated Values | セパレーター、区切り子:タブ('\t')、カンマ(',')、縦棒('|')、コロン(':')など |
XML | Extensible Markup Language | タグ'<'と'>'で囲む |
JSON | JavaScript Object Notation | 記号を駆使するもの |
YAML | YAML Ain't a Markup Language | インデント |
CSV形式
kanazawa,toshiki,M
hukusi,akihito,M
Takahashi,Akiko,F
Tanaka,Kentaro,M
- Pythonでcsvモジュールを使うと簡単に読み書きができる
import csv
namelist = [['kanazawa','toshiki','M'],
['hukusi','akihito','M'],
['Takahashi','Akiko','F'],
['Tanaka','Kentaro','M']]
# CSV形式のファイルを書き込む
with open('data.csv', 'w', newline='') as f: # newline=''これを入れないと一行飛ばしになってしまった
writer = csv.writer(f, delimiter=',', quotechar='"') # コーテーションを使う特殊な区切りやタブが入っても大丈夫
for row in namelist:
writer.writerow(row)
quotechar='"'
特別な値を含むフィールドを囲むための文字列を一文字で指定します。“が標準的なquotecharです。具体的に囲む際は、“囲む対象の文字“のようにして使用します。
with open('data.csv', 'w', newline='') as f:
writer = csv.writer(f, delimiter=',', quotechar='"') # コーテーションを使う特殊な区切りやタブが入っても大丈夫
writer.writerows(namelist)
writer.writerows(namelist)
これでも可能
# CSV形式のファイルを読み出す
with open('data.csv', 'r') as f:
reader = csv.reader(f, delimiter=',', quotechar='"')
namelist = [row for row in reader]
print(namelist)
参考