Pythonでテキストファイルを読み書きする

      2018/06/14

Pythonでテキストファイルを読み書きするサンプルです。

Read サンプル

1行づつ読み込み、総文字数をカウントするサンプルです。

from __future__ import with_statement
import codecs


def count_character(input_file):
    count = 0

    with codecs.open(input_file, 'r', 'utf-8') as f_in:
        for line in f_in:
            line = line.rstrip('\r\n')
            count += len(line)
        #;
    #;

    print "%s > %d\n" % (input_file, count)
#;

Read/Write サンプル

CSVファイルをTSV(タブ区切り)に変換しています。

from __future__ import with_statement
import codecs
import os.path

def csv_to_tsv(input_file):
    root, ext = os.path.splitext(input_file)
    output_file = root + ".tsv"
    lines = []
    with codecs.open(output_file, 'wb', "shift_jis") as f_out:
        with codecs.open(input_file, 'r', 'shift_jis') as f_in:
            for line in f_in:
                line = line.rstrip('\r\n')
                columns = line.split(',')

                lines.append("\t".join(columns))

                # 65535行毎に出力.
                if (65535 < len(lines)):
                    f_out.write('\n'.join(lines))
                    f_out.write('\n')
                    del lines[:]
                #;
            #;
        #;

        if (0 < len(lines)):
            f_out.write('\n'.join(lines))
            f_out.write('\n')
        #;
    #;
    del lines[:]
#;

 - Python