Help us understand the problem. What is going on with this article?

Sphinxの表をExcelで管理する

More than 1 year has passed since last update.

なんだかんだいって、Excelで管理することになるのが世の習わしです。
Excelで管理されたデータを他で使うために、CSVにすることが多いと思います。
CSVにすると、Sphinxの表がつくれます。

ExcelをCSVに変換する

Excel CSV I/Oアドインというとても便利なアドインがあります。
http://fnya.cocolog-nifty.com/blog/2012/03/excel-csv-io-ex.html

自動化ではありませんが、どのExcelファイルでも使えるという利点があります。
使い方は、開いたExcelファイルで、Excel CSV I/Oのエクスポートボタンを押すだけです。

image.png

ダイアログが出てきますが、基本、そのままエクスポートです。

Sphinxの表をCSVで扱う

Sphinxでは表のデータをCSVファイルから取り込むことができます。
そこで、こんなふうに、Excelファイル, CSVファイル, .rstファイルを置いておけば、Excelファイルを変更して、Excel CSV I/OでCSVエクスポートするだけで、Sphinxの表を更新できます。

image.png

.rstファイルでCSVファイルを指定する方法は、例えばこんな感じです。

ワーディング
===========

ワーディング一覧
---------------

.. csv-table::
   :file: wording.csv
   :encoding: sjis
   :header-rows: 1

残念ながら、SphinxでMarkdownできるようになるcommonmarkでは、この仕組みが機能しないようなので、.mdファイルではできません。

おまけ1: CSVをいろいろ変換する

csvkitというツールが便利です。
https://github.com/wireservice/csvkit

例えば、CSVからJSONに変換したいときには次でOKです。

csvjson data.csv > data.json

おまけ2: 改行が含まれたExcelを扱う

CLEAN関数を使うと、不要な情報(というか変換の邪魔になる情報)を削除できます。
エクスポート用のシートを作成しておいて、そこの全部のセルを元のデータがあるシートを参照してCLEANをかませておけば、元のデータを変更するだけで、クリーンなCSVファイルが手に入ります。

=CLEAN(訪問分担!C3)
hiraski
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away