LoginSignup
1
1

More than 1 year has passed since last update.

【Python2.7】csvで空行なしで書き出す方法

Posted at

はじめに

Pythonにcsvというcsvの読み書きをするライブラリがあります。
しかし普通にwriter.writerow()を使って書き込むと、書き込む行と行の間が1行空いてしまうという問題があります。ちなみに原因はCRLF問題です。

ヘッダー
一行目のデータ
空白
二行目のデータ
空白
三行目のデータ

Python3ではこれに対する解決策はnewline=""を指定することで解決できるといろいろなサイトで解説されています。

しかし、Python2.7ではこれは動きません。

解決法を見つけたので共有します。

Python2.7での解決法

Python2.7では、以下のようにlineterminator="\n"を指定することで改行文字を指定して回避することができます。

import csv
    with open('test.csv', 'w') as f:
        writer = csv.writer(f,  lineterminator="\n")
        writer.writerows(text)

こちらのドキュメントを参考にしました。

最後に

今回はPython2.7でcsvで1行空く問題の解決法について記事を書きました。
使用している環境がPython2だと、ネットで調べてもほとんどPython3なので動かなくて大変です。
今後もPythonのバージョン違いで記事がないものは積極的に記事を書いていこうと思います。

Python3での対象法

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1