3

Rでは、スクリプトが複数のxlsファイルのコンテンツを取得します<ディレクトリをループしてExcelコンテンツを取得します>。

すべてのファイルは約2MBです。スクリプトは3つのファイルに対して数秒かかりますが、現在、Debian i7システムで6時間実行されており、120のファイルで結果が得られません。

したがって、より良い解決策は、[うまくいけば] ssconvertを使用してすべてのxlsファイルをcsvに変換し、bashスクリプトを使用することです<ディレクトリ内の各ファイルのLinuxシェルスクリプトファイル名を取得してプログラムを実行します>:

for f in *.xls ; do xls2csv "$f" "${f%.xls}.csv" ; done

このスクリプトは機能しますが、私のコンテンツはシート番号14にありますが、このスクリプトによって生成されたcsvファイルは最初のシートを返すだけです['xls2csv'を'ssconvert'に置き換えました]。

このスクリプトは、ワークブックのシート番号14のみをピックアップするために採用できますか?

4

2 に答える 2

2

ワークシート名がわかっている場合は、次のように実行できます。

for f in *.xls ; xls2csv -x "$f" -w sheetName -c "${f%.xls}.csv";done

すべてのxls2csvの詳細を表示するには、ここを参照してください。

編集

OPは正しい答えを見つけたので、私はそれを追加するために私のものを編集します:

for f in *.xls ; do xls2csv -x "$f" -f -n 14 -c "${f%.xls}.csv" 
于 2013-03-02T19:54:41.283 に答える
1

このジョブでは、ssconverter.py という名前の python スクリプトを使用します (ここで見つけることができます。下にスクロールして、ssconverter.py と ooutils.py の 2 つの添付ファイルをダウンロードしてください) system()

名前だけでなくシート番号でも、ワークブック内の特定のシートを抽出できます。次に例を示します。

ssconverter.py infile.xls:2 outfile.csv

2枚目のシートを取り出します。

python と python-uno がインストールされている必要があります。

于 2013-03-02T20:04:51.410 に答える