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間でファイルをやり取りする場合には、この問題は頻繁に発生します。適切な改行コードを指定することで、予期せぬ問題を避けることができます。