【问题标题】:Automate opening and formatting of csv file in unix在 unix 中自动打开和格式化 csv 文件
【发布时间】:2014-03-19 13:54:05
【问题描述】:
我的要求如下:
- 在 unix 的电子表格中打开一个输入 csv 文件(如 ooffice)
- 后处理 excel 以满足以下要求:
- 对列进行后处理,使编号小于 0 的字段显示为红色
- 在每个相关列的顶部放置过滤器(我们可以在 Microsoft excel 中这样做)
- 将文件保存为 .xls(或任何其他格式),以便在 microsoft excel 中打开时,数据格式不会丢失。
上述自动化要求是我的流程的一部分。虽然我熟悉脚本,但我从未处理过这样的要求。
非常感谢您的帮助。
【问题讨论】:
标签:
excel
unix
csv
spreadsheet
openoffice.org
【解决方案1】:
这是一个使用csv2odf 的解决方案,应该会得到你想要的结果:
使用以下规范在 Excel 或 OpenOffice 中创建电子表格模板:
- 插入与 csv 具有相同列数的列标题。 (如果要使用 csv 文件中的标题,请在下面的命令中添加 -H 选项。)
- 添加一个样本行数据。在数字将去的地方使用虚拟数字,在文本去的地方使用虚拟文本。根据需要设置文本/数字的格式,包括使负数变为红色的条件格式。
- 将模板另存为 xlsx 或 ods(xls 无效)。
运行这个命令:
csv2odf yourdata.csv yourtemplate.xlsx output.xlsx
您的数据将被插入到模板中,并且格式将在每一行上重复。