![如何使用 LibreOffice Calc 从格式化的 csv 文件复制粘贴为原始 csv?](https://linux22.com/image/1552028/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20LibreOffice%20Calc%20%E4%BB%8E%E6%A0%BC%E5%BC%8F%E5%8C%96%E7%9A%84%20csv%20%E6%96%87%E4%BB%B6%E5%A4%8D%E5%88%B6%E7%B2%98%E8%B4%B4%E4%B8%BA%E5%8E%9F%E5%A7%8B%20csv%EF%BC%9F.png)
给定一个原始 csv 文件:
$ cat foo.csv
foo, bar
buzz, "quoted string"
如果我使用这些设置使用 Libre Office 打开此文件,我可以很好地查看它。但是,如果我再次选择整个文档并复制它,剪贴板包含:
foo bar
buzz quoted string
我希望剪贴板能够再次恢复原始 csv。
这个例子很牵强,但背景是我只想从更大的 csv 中导出一个小分数,而不必通过sed
或使用来挑选
head -n 1 > example.csv
cat large.csv | grep SOME_CODE >> example.csv // sometimes the filter is not as easy
我喜欢使用 LibreOffice Calc,因为它提供了一个很好的过滤功能,让Data > Autofilter
我可以轻松找到想要使用的行。然而,提取该选择并不那么简单。
我将使用较小的文件来设置单元测试,这就是为什么我不想更改 csv 文件的格式,即使在适当的 csv 解析器的情况下它很可能不会产生太大的差异。
因为单元测试的目的是确保它正确解析实际格式,而我不想测试 LibreOffice 对 CSV 文件的理解。
从 LibreOffice Calc 中的 CSV 文件复制时如何保留原始格式?
答案1
答案2
将其粘贴到工作表中,确保已全部选中,然后转到数据 > 文本到列。这将打开与导入 .csv 文件时看到的相同的对话框。
(顺便说一下,我使用的是 Libreoffice 4.3.2.2)