MENU
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
カテゴリー
  • IT関連 (623)
    • Bootstrap (2)
    • クラウド (4)
    • サーバー技術 (185)
    • ストレージ (7)
      • NetApp (7)
    • ネットワーク技術 (91)
      • Cisco (36)
      • Juniper (18)
      • 負荷分散装置 (17)
    • パソコン関連 (92)
      • MAC (25)
      • Windows (54)
    • プログラミング (154)
      • Ansible (11)
      • C言語 (23)
      • Python (111)
        • Django (20)
    • 仮想化 (88)
      • Docker (63)
      • VMware (23)
  • VPS (200)
    • ABLENET VPS (16)
    • Amazon Lightsail(VPS) (2)
    • ConoHaVPS (37)
    • mixhostVPS (4)
    • WebARENAIndigo (16)
    • XServerVPS (34)
    • お名前.com VPS (12)
    • さくらのVPS (24)
    • カゴヤクラウドVPS (13)
    • シンVPS (7)
  • レンタルサーバー (56)
    • エックスサーバー (38)
  • 光回線 (8)
  • 技術スキルアップ開発・学習 (7)
    • Envader (2)
    • RareTECH (2)
    • Udemy (3)
もう現役20年超えましたー。経験値ならだれにも負けないエンジニア技術ブログ
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
インフラエンジニアの技術LOG
  • VPS(レンタルサーバ)比較
  • ITエンジニアの転職
  • IT技術入門(Engineers.LOG)
  1. ホーム
  2. IT関連
  3. プログラミング
  4. Python
  5. 【Python】ファイルデータから余計なスペース(空白)削除しカンマ区切りでCSVへ書き込むプログラム

【Python】ファイルデータから余計なスペース(空白)削除しカンマ区切りでCSVへ書き込むプログラム

2020 1/25
Python
2020年1月25日

Pythonでファイル内のデータを抽出し、csv貼り付ける際、余計な空白行があるためにきれいにシートに貼り付けられないってことがあります。

csvではエクセルなどで開く際には、デフォルトカンマ区切りでセルに貼り付けをされます。
この無駄な空白行をカンマに変更するプログラムを書きました。

目次
安くて高速!高性能VPSで快適開発!
最速5分でサーバー構築
>>>こちらをチェック

エンジニア必見! 技術力を伸ばすVPS徹底比較
>>>VPS比較

ファイルデータから余計なスペース、空白を削除しカンマ「,」区切りで別ファイルへ書き込むプログラム

今回は以下のように、Linuxサーバからc取得したデータをcsvファイルに書き込みました。

※ file.csv

ファイルシス            サイズ  使用  残り 使用% マウント位置

devtmpfs                  908M     0  908M    0% /dev

tmpfs                     920M     0  920M    0% /dev/shm

tmpfs                     920M  8.6M  911M    1% /run

tmpfs                     920M     0  920M    0% /sys/fs/cgroup

/dev/mapper/centos-root   6.2G  1.5G  4.8G   24% /

/dev/sda1                1014M  192M  823M   19% /boot

tmpfs                     184M     0  184M    0% /run/user/0

このように出よく結果には空白行があり、出力結果や、テキストファイルとしては見た目が良いのですが、CSVファイルとして開くと、表示がずれて見にくくなってしまいます。

このような表示をCSVできれいに表示するために、スペースを全てカンマ「,」に変更するプログラムを書きます。

ネットワーク機器から出力したデータをCSVにきれいに表示するプログラム

以下がNW機器から取得したデータの出力結果の空白部分をカンマに変更するプログラムとなります。

import csv

with open('file.csv', 'r', newline='') as filein, \
        open('file_out.csv', 'w', newline='') as fileout:

        reader = csv.reader(filein, delimiter=' ', skipinitialspace=True)
        writer = csv.writer(fileout)

        writer.writerows(reader)

print('file_out.csvへの出力完了')

上記のプログラムの説明は以下となります。

  1. 「import csv」でcsvモジュールをインポート
  2. 「with open」で読み取り元のファイルと、書き込み先のファイルを開く
  3. csv.reader : 「delimiter=’ ‘」でスペースごとに分割されるようになる
  4. csv.reader : 「skipinitialspace=True」と指定すると、コンマの後の空白をスキップする。
  5. csv.writer(fileout) : writerオブジェクトを作成
  6. writer.writerows : 取得したデータ「reader」の内容を書き込む

プログラムの実行結果

上記プログラムの実行結果は以下となります。

※ 実行結果

Python $ python3 excel-test.py 
file_out.csvへの出力完了
Python $

出力されたファイルの中身はスペースがカンマ区切りになっています。

※ file_out.csv

ファイルシス,サイズ,使用,残り,使用%,マウント位置

devtmpfs,908M,0,908M,0%,/dev

tmpfs,920M,0,920M,0%,/dev/shm

tmpfs,920M,8.6M,911M,1%,/run

tmpfs,920M,0,920M,0%,/sys/fs/cgroup

/dev/mapper/centos-root,6.2G,1.5G,4.8G,24%,/

/dev/sda1,1014M,192M,823M,19%,/boot

tmpfs,184M,0,184M,0%,/run/user/0

エクセルシートでファイルを開くと以下のようにセルできれいに分割されて表示されています。

csvファイルをきれいに表示する際には結構便利なプログラムですので参考にしてください。

エンジニアスキルをアップする勉強法

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

あわせて読みたい
現役エンジニアがおすすめするVPSレンタルサーバ比較(高速SSD限定) 格安VPS比較(2025年最新版)

Python
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする コメントをキャンセル

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)



検索
カテゴリー
新着記事
  • XServerVPS アニメ風 男の子 プログラミングをしている VPSを利用している 楽しそうにしている
    XServerVPSで証明書(SSL)を取得する方法
    2025年3月24日
    XServerVPS
  • レンタルサーバ アニメ風 女の子 楽しんでパソコンをしている 目がキラキラ
    WordPressがレンタルサーバよりVPSで利用する方がおすすめの理由
    2025年3月19日
    VPS
  • VPS レンタルサーバー アニメ風 女の子 プログラミングをしている VPSを利用している 楽しそうにしている
    VPSとクラウドの違いとは?初心者向けにわかりやすく解説
    2025年3月5日
    VPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSはWindows serverを利用できない。その理由と利用できるOSは?
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSでゲームを利用する環境はあるのか
    2025年3月4日
    シンVPS
  • シンVPS アニメ風 女の子 パソコン プログラミングをしている VPSを利用している 楽しそうにしている
    シンVPSのサイトの表示速度は他社に比べて早いのか?
    2025年3月4日
    シンVPS
目次
目次