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とエクセル(xlsx)の変換プログラム

【Python】CSVとエクセル(xlsx)の変換プログラム

2020 2/02
Python
2020年2月1日2020年2月2日

PythonでCSVファイルをエクセルファイルに変換するプログラムを紹介します。
また、今回はサーバー、もしくはNW機器にで出力した結果において「スペース」となっている箇所を全てカンマ「,」に変換し、エクセルできれいに表示できるように変換します。

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

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

【Python】CSVファイル〜エクセルファイル(xlsx)へ変換するプログラム

今回は、サーバーから出力した、「df -h」コマンドの出力結果を元にプログラムを作成します。
通常、スペース区切りとなり、以下のように表示されます。

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

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→エクセル(Excel)への変換

以下のエクセル変換プログラムは、Pythonの「pandas」ライブラリを使用しています
Pandasはデータを処理するための機能を多く持っており、今回でいうExcelへの変換も簡単なプログラムで実施してくれます。

※ csv-excel-test02.py

import pandas as pd

# CSVファイルの読み込み
data = pd.read_csv('file.csv')

# Excel形式で出力
data.to_excel('excel-data.xlsx', encoding='utf-8')

※ 実行結果

$ python3 csv-excel-test02.py 
$ 

以下のようにエクセルに変換されて正常に表記できることが確認できます。

エクセル(Excel)→CSVへの変換

次に、ExcelからCSVへの変換プログラムを以下に作成しました。

※ excel-csv.py

import pandas as pd
 
# Excelファイルの読み込み
data = pd.read_excel('excel-data.xlsx', 'Sheet1', index_col=None)
 
# CSV形式で出力
data.to_csv('csv-data.csv', encoding='utf-8')

※ 実行結果

$ python3 excel-csv.py 
$ 

以下のように正常にcsvファイルに変換されたことが確認できます。

「csv」と「openpyxl」ライブラリを使ったエクセルへの変換プログラム

「pandas」ライブラリ意外にも、エクセルに変換することができるライブラリはあります。

以下では、2つのライブラリを使用したプログラムとなります。

  • 「csv」:Python標準ライブラリでCSVファイルの読み込み・書き込み、新規作成、上書き保存・追記を実行することができる
  • 「openpyxl」:Excelファイルの読み込み・書き込みができる

※ csv-excel-test.py

import csv
import openpyxl
 
wb = openpyxl.Workbook()
ws = wb.active
 
with open('file.csv') as f:
    reader = csv.reader(f, delimiter=':')
    for row in reader:
        ws.append(row)
 
wb.save('excel-data.xlsx')

※ 実行結果

$ python3 csv-excel-test.py 
$ 

エクセル変換時にセルに分割し表示をきれいにするプログラム

上記では、CSVからエクセルへ変換をすることができましたが、エクセルシートで表示された出力結果は、CSVのように「スペース」をデフォルトで認識せず、一つのセル内でデータが表示されます。

これを、スペース区切りでそれぞれのセルへデータを書き込みたいので、一度、CSVファイルないのデータを「スペース」から「カンマ」区切りに置換して、エクセルへの変換を実行するプログラムを作成しました。

事前のcsvファイルは以下となります。

以下では「re」ライブラリでデータを置換できるようにし、エクセル形式でファイル出力するプログラムとなります。

※ csv-excel-test03.py

import pandas as pd
import re
 
with open('file.csv', 'r', newline='') as file, \
        open('file_out.csv', 'w', newline='') as fileout:
 
 
        text = re.sub(r'\s* ', ',', file.read())
        print(text, file = fileout)
        print('置換完了')


# CSVファイルの読み込み
data = pd.read_csv('file_out.csv')

# Excel形式で出力
data.to_excel('excel-data.xlsx', encoding='utf-8')

print('CSV > Excel変換完了')

※ 実行結果

$ python3 csv-excel-test03.py 
置換完了
CSV > Excel変換完了
$ 

エクセルの表記がきれいになって変換されたことを確認できました。
エクセル表記をきれいにしたい方はぜひ参考にしてください。

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

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
目次
目次