我经常需要在 Libre Office Calc(在 Linux Mint 上)中打开某种格式的 CSV 文件。格式始终为逗号分隔符,第一列为日期D/M/Y
。
任何人都可以建议一种打开这些文件的方法,而不必在文本导入表单上重复指定格式,该表单通常在打开 CSV 时出现。
我很乐意考虑命令行选项、任何脚本或宏,甚至是 AutoKey 脚本。唯一的限制是它不应干扰打开不适合此格式的 CSV。
示例数据:
11 Jul 19, “Description 1”, 12.34
06/8/19, “Description 2”, 56.78
31/7/19, “Description 3”, 90.00
编辑 - 日期格式
当您将 A 列设置为日期类型(在“导入文本”对话框中)时,混合日期格式由 Calc 处理。该解决方案应包含此功能。
答案1
经过多次搜索,我来到这个答案。 @Adobe 的评论链接到https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options#Filter_Options_for_the_CSV_Filter,它描述了过滤器选项。
这个命令对我有用:
libreoffice --calc mydata.csv --infilter=”CSV:44,34,0,1,4/2/1”
infilter 参数内容的解释
类型后面有五个逗号分隔的字段:
1. Separator, 44 is the ASCII value of comma
2. Text delimiter, 34 is the ASCII value of double quote
3. Character set to use, 0 is the system default
4. Line number to start conversion. I have no header line, so it is 1
5. Cell format per column, separated by /. It does not seem to matter if there are a different number of columns in the data: Extra columns default to Standard, extra formats are ignored.
4 = date d/m/y; 2 = text; 1 = standard
在 Calc 中打开文件后,我可以按时间顺序排序并对数字列进行算术运算。
参考资料中还有很多其他选项,都同样全面。