PythonでCSVファイルを扱う際、特にWindows環境下では、出力ファイルの改行コードがデフォルトでCRLFになることがあります。これは、PythonがOSの改行コードを自動的に適用するためです。

しかし、場合によってはLFを改行コードとして使用したいこともあります。そのような場合、ファイルを開く際やcsv.writerを使用する際に改行コードを指定することで、改行コードをLFに保つことができます。

以下にその方法を示します。

# ファイルを開く際に改行コードを指定する例
outputFile='./test.txt'
with open(outputFile,'w',newline="\n") as fo:
    fo.write('hello world !\n')

# csv.writerを使用する際に改行コードを指定する例
import csv
outputFile='./test.txt'
with open(outputFile,'w',newline="\n") as fo:
    writer=csv.writer(fo,lineterminator='\n')
    writer.writerow(['hello','world','!'])

このように、PythonでCSVファイルを扱う際には、改行コードの扱いに注意が必要です。特に、異なるOS間でファイルをやり取りする場合には、この問題は頻繁に発生します。適切な改行コードを指定することで、予期せぬ問題を避けることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です