3

在 R 中,我有一个脚本获取多个 xls 文件的内容<循环目录以获取 Excel 内容>。

所有文件大约 2 MB。该脚本需要几秒钟来处理 3 个文件,但现在在 Debian i7 系统上运行了 6 个小时,但对 120 个文件没有结果。

因此,更好的解决方案是 [希望] 使用 ssconvert 将所有 xls 文件转换为 csv,使用 bash 脚本<目录中每个文件的 Linux Shell 脚本抓取文件名并执行程序>:

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

这个脚本完成了这项工作,但是我的内容在第 nr 14 表中,而这个脚本生成的 csv 文件只返回第一张表[我用 'ssconvert' 替换了 'xls2csv']。

可以采用此脚本仅拾取工作簿中的第 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),我使用system().

它可以提取工作簿中的特定工作表,不仅可以按名称,还可以按工作表编号,例如:

ssconverter.py infile.xls:2 outfile.csv

提取第二张纸。

您需要安装 python 和 python-uno。

于 2013-03-02T20:04:51.410 回答