如何解决或忽略xlsx2csv“错误:潜在无效的日期格式。”

问题描述 投票:0回答:1

我通过终端中的 libreoffice 将 .ODS 文件转换为 .XLSX。现在我想将该 .XLSX 文件转换为 .CSV。 (从 .ODS 到 .CSV 显然只执行工作簿中的第一张工作表,但是您可以使用 xlsx2csv 从 .XLSX 中获取单独的 .CSV 中的所有工作表,正如我从一堆谷歌搜索中发现的那样,总结它的最佳答案在这里:https://askubuntu.com/questions/1042624/how-to-split-an-ods-spreadsheet-file-into-csv-files-per-sheet-on-the-terminal

但是每当我跑步时

~$ ~/.local/bin/xlsx2csv -a "/home/username/Pictures/folder/folder/XLSXDepot/file.xlsx" "/home/username/Pictures/folder/folder/XLSXDepot"
Error: potential invalid date format.

我收到此错误,所有谷歌结果都无法让我到达那里。

一些结果表明 1900 年之前的日期与脚本不兼容。这很酷,除了我在这本工作簿中没有日期。它会将数字或字符串误读为日期戳并破坏自身。就像大海捞针一样,甚至找出它不喜欢的东西。

一些谷歌结果显示了一些将ignore_formats传递给它的方法;但我不知道如何在 bash 中做到这一点。

帮助页面还吐出了这样的内容:

  --ignore-formats IGNORE_FORMATS [IGNORE_FORMATS ...]
                        Ignores format for specific data types.

但它没有告诉我什么是 IGNORE_FORMATS 可接受的值。我尝试过“日期”、“日期格式”、日期格式、日期、“日期”、“日期格式”、日期和日期格式。用引号引起来或更改大写字母,它们都会不断给我同样的错误。我试图将此标志放在命令中的 -a 之前。

是否有人 googlefu 很棒并且可以找到一些手册页来描述 --ignore-formats 标志的可接受值?因为我得到的最接近的是 ubuntu 手册页网站,它甚至根本没有提到 --ignore-formats 标志。

使用内置标志可以工作,--ignore-formats,但我根本找不到可接受的值。

csv terminal xlsx
1个回答
0
投票

来自 LibreOffice 7.2 版本的发行说明:

--convert-to csv:... 命令行电子表格转换或导出过滤器选项字符串接受新的可选第 12 个数字参数,这使得可以将整个文档导出到单独的工作表 .csv 文件或指定的工作表。 tdf#135762(Caolán McNamara,红帽;Eike Rathke,红帽)

例如:

soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,-1 sample.ods
  1. 或不存在表示默认行为、命令行中的第一个工作表或宏过滤器选项中的当前工作表,导出到sample.csv

-1。对于所有工作表,每个工作表都会导出到基本文件名与工作表名称连接的单个文件,例如sample-Sheet1.csv、sample-Sheet2.csv 和sample-Sheet3.csv

  1. 或一张特定工作表的工作表数量范围内的任何其他从 1 开始的数字,此处为示例-Sheet2.csv

(来源:https://wiki.documentfoundation.org/ReleaseNotes/7.2#Document_Conversion

--convert to csv:
的前9个选项在这里:https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options#Filter_Options_for_the_CSV_Filter

附注仍在寻找其他选项的文档......

© www.soinside.com 2019 - 2024. All rights reserved.