PythonでCSVファイルを操作する際、open
関数のnewline
パラメータの役割について解説します。
CSVファイルの書き込み
PythonでCSVファイルに書き込む際、newline
パラメータを使用すると、出力結果に影響を与えます。以下に例を示します。
import csv
data = [['一行目のデータ'],['二行目のデータ'],['三行目のデータ']]
with open('ファイル名.csv', 'w', newline='') as f:
w = csv.writer(f, delimiter=',')
for data_list in data:
w.writerow(data_list)
このコードでは、newline=''
と指定しています。これにより、CSVファイルに書き込む際の改行が抑制され、行と行の間に余分な空行が入るのを防ぎます。
newlineパラメータの役割
newline
パラメータは、ファイルの読み書き時に改行コードがどうなるかを制御します。具体的には、以下のような動作をします。
newline=None
(デフォルト): 書き出す文字列の「\n」は、システムデフォルトの改行コード(os.linesep
の値)へ変換されます。newline=''
またはnewline='\\n'
: 書き出す文字列の改行コードは変更されず、そのまま書き出されます。newline='\\r'
またはnewline='\\r\\n'
: 書き出す文字列の「\n」は、newline
引数の値へ変換されます。
以上がPythonのopen
関数のnewline
パラメータの基本的な使い方とその役割になります。CSVファイルの操作を行う際には、このnewline
パラメータを適切に設定することで、意図した通りの出力結果を得ることができます。