【问题标题】:Creating TAB-separated values from .xlsx with ssconvert使用 ssconvert 从 .xlsx 创建 TAB 分隔值
【发布时间】:2018-04-25 23:33:20
【问题描述】:

由于单元格值中包含逗号,我无法使用 ssconvert 实用程序将 .xls(x) 转换为 .csv。

是否可以使用ssconvert(命令行电子表格格式转换器)直接从xlsx 创建制表符分隔值?

ssconvert infile.xlsx outfile.tsv 引发错误:

无法猜测要使用的导出器

因此,我尝试在某些导出选项的规范下生成原始文本文件,特别是分隔符:

ssconvert -O 'separator=\t format=raw' infile.xlsx outfile.txt

导致类似value1\tvalue2\tvalue3 的输出,即字符串\t 未翻译成制表符。

【问题讨论】:

    标签: tabs export-to-csv import-from-excel gnumeric ssconvert


    【解决方案1】:

    从 shell 脚本调用时:在允许的引号之间放置一个真正的制表符,例如:

    ssconvert -O 'separator="   " format=raw' infile.xlsx outfile1.txt
    ssconvert -O "separator=\"  \" format=raw" infile.xlsx outfile2.txt
    ssconvert -O "separator='   ' format=raw" infile.xlsx outfile3.txt
    

    要在命令 shell 中直接键入它,可能需要在选项卡之前按 ctrl-v。 用鼠标粘贴它可能会失败,因为选项卡将被空格替换。

    【讨论】:

    • 完美地作为shell脚本工作,但我无法让它直接从命令行运行。
    • 你能输入下面这行吗... echo "" | od -c ... 并获得以下输出? 0000000 \t \n 0000002 我可以在没有任何转义字符的普通 bourne shell ("/bin/sh") 下键入它,但是当我使用 /bin/bash 时,我需要在 之前添加一个 -V。如何输入 不仅取决于 shell。其他层(XClient、终端...)也可以“吃掉标签”来做其他事情(例如扩展、命令完成...)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2019-02-27
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多