【python】txtとcsvファイルを操作する方法!!

スポンサーリンク
【python】txtとcsvをファイル操作する方法!!Python
この記事を読んで分かること
  • pythonファイル操作をする方法

 

ファイルのパスを組み立てる

 

ファイルのパスはOSに依存するため、osモジュールを使うとよいです。

import os
os.path.join(os.sep,"etc","hosts")

出力

"/etc/hosts"

先頭についているos.sepはルートディレクトリを表しています。

 

テキストファイルの操作

 

ファイルを操作する際にはwith文を使うと、withブロックを受けたときにファイルを勝手に閉じてくれます

ファイルの読み込み

オープン関数の第二引数を”r“にすると読込み専用で開くことができます。

日本語などの非アスキー文字が含まれる場合には、encoding引数を指定する必要があります。

with open("file_path.txt", "r", encoding="utf-8") as f: 
    print(f.read())

windowsで使われるシフトJISはencoding引数にcp932を指定すると読み込むことができます。

 

ファイルの書き込み(上書き)

オープン関数の第二引数を”“にすると書込み(上書き)モードで開くことができます。

with open("file_path.txt", "w") as f: 
    f.write("overwirte contents")

 

ファイルの書き込み(追記)

オープン関数の第二引数を”a“にすると書込み(追記)モードで開くことができます。

with open("file_path.txt", "a") as f: 
    f.write("add text contents")

 

CSVファイルの操作

 

CSVファイルを開くときもwith句を使い、csvモジュールはwith句の内側で利用します。

CSVファイルの読み込み

csv.readerのdelimiterでは区切り文字を指定しています。

読み取ったデータはリスト型となります。

import csv

with open("file_path.csv", "r") as f:
    r = csv.reader(f, delimiter = ",")
    for row in r:
        print(row)

出力

['1', '2', '3']['a', 'b', 'c']

 

CSVファイルの書き込み

読込みと同様にcsv.writerのdelimiterでは区切り文字を指定しています。

書き込むデータはリスト型で渡します。

import csv

with open("file_path.csv", "a") as f:
    a = csv.writer(f, delimiter = ",")
    a.writerow(["4", "5", "6"])

ファイルの中身

1,2,3
a,b,c
4,5,6

 

参考文献

 

コメント

タイトルとURLをコピーしました