Pythonでファイル分割する
大容量ファイルを分割する機会があったのでPythonで実装してみた
完成版
# 分割したいファイルとそのファイルのエンコードを設定
input_file_name = "test.csv"
output_file_name = "test_%d.csv"
file_encode = "shift_jis"
# file_encode = "utf-8"
# 1ファイルあたりの行数
line_max = 10000
# 初期化
line_index = 1
file_seqno = 1
# ファイルを読み込んでwhileで1行ずつ見ていく
input_file = open(input_file_name, encoding=file_encode)
output_file = open(output_file_name % file_seqno, "w", encoding=file_encode)
line = input_file.readline()
while line:
if line_index > line_max:
output_file.close()
line_index = 1
file_seqno += 1
output_file = open(output_file_name % file_seqno, "w", encoding=file_encode)
output_file.write(line)
line_index += 1
line = input_file.readline()
input_file.close()
output_file.close()
デフォルトがutf-8なのでshift_jisなどはエンコーディング指定する必要がありました。
Author And Source
この問題について(Pythonでファイル分割する), 我々は、より多くの情報をここで見つけました https://zenn.dev/t_takaji/articles/d29814d01a8555著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol