2016-08-31 6 views
0

私のようないろいろ書い、列ヘッダーと列(セルが複数行することができます)と非常にシンプルなのLibreOffice Calcのスプレッドシートを持っている:私は(半)自動化された方法プレーンテキストファイルで、取得したい LibreOffice Calcスプレッドシートから書式設定されたレポートを作成する方法は?

| id | Prio | Domain | Comment | ... | |----|------|--------|----------------|-----| | 1 | A | Foo | Something | | |----|------|--------|----------------|-----| | 2 | A | Bar | Something else | | | | | | Possibly on | | | | | | multiple lines | | |----|------|--------|----------------|-----| | 1 | C | Baz | Something else | | 

以下のような
含む何か:

id:  1 
Prio: A 
Domain: Foo 
Comment: Something 
... 

id:  2 
Prio: A 
Domain: Bar 
Comment: Something else 
     Possibly on 
     multiple lines 
... 

id:  3 
Prio: C 
Domain: Baz 
Comment: Something else 
... 

これは何とか可能ですか? 私はLOのマクロ機能(例えば、this)を知っているので、簡単な答えはおそらく "はい"ですが、私はそれらを使用したことがないので、何かガイダンスが必要です(私はそのようなものを使う方法も知らない)。

答えて

0

これにはさまざまな方法があります。 1つのアイデアはFile -> Save Asに行き、タイプCSVとして保存することです。フィルタ設定では、改行を扱いやすくするためにQuote all text cellsにチェックしてください。 Save Asステップを避けるために

import csv 
with open('Untitled 1.csv') as csvfile: 
    spamreader = csv.reader(csvfile, dialect='excel',) 
    for row in spamreader: 
     print("row: ", end="") 
     print(', '.join(row)) 

、あなたの代わりにマクロを書くことができます:

次に例えば、python csv moduleを使用するスクリプトを記述します。ファイルハンドリングと文字列の操作はBasicでは難しいため、Basicではなくpythonに書き込む方が簡単かもしれません。

関連する問題