0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

40代おっさんPythonを勉強する(CSVファイルの読み書き編)

Posted at

本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

構造化されたテキストファイル

  • 単純なテキストファイルだと、情報を探すのが大変なので、構造的なデータを作るのが一般的
  • これらの構造化ファイル形式を読み書きの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)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?