Python で CSV ファイルを作成した場合、結果のファイルを Microsoft Excel で開くと、行の間に空白行が表示されることがあります。この記事では、この問題が発生する理由と、余分な空白行を抑制する解決策を説明します。
問題は、Python が CSV ファイルの行末を処理する方法にあります。 csv.writer モジュールは行末を直接制御し、デフォルトではキャリッジ リターン (r) と改行 (n) の両方をファイルに追加するため、Excel に余分な空白行が生じます。
Windows システムの場合、Python ファイルは newline='' パラメータを使用して未翻訳テキスト モードで開く必要があります。このパラメータは、デフォルトの改行文字 (n) を Windows 固有の改行シーケンス (rn) に変換しないように Python に指示します。
with ステートメントの使用:
with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
パスの使用module:
from pathlib import Path with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
Python 2 の場合は、バイナリ モードを使用して出力ファイル ('wb') を開きます。これにより、Python が行末を変換できなくなります。
with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile: writer = csv.writer(outfile)
以上がExcel で開いた Python で生成された CSV ファイルの空白行を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。