CSVCUT 的编码选项是什么?

what are encoding options for csvcut?

提问人:Ed Beighe 提问时间:5/6/2023 更新时间:5/6/2023 访问量:103

问:

我在使用 csvcut 时遇到错误,指出输入不是 UTF-8 编码的。 根据文档 https://csvkit.readthedocs.io/en/latest/scripts/csvcut.html 有一个命令行选项 [-e 编码] 这似乎没有任何进一步的文档。 有效编码选项列表是什么?

在我的特殊情况下,输入文件严格为每个字符一个字节;csvcut 正在抱怨高于0x7f的任何内容。 这些文件有一些,例如 0x92(右单引号)

如果我擦除0x7f上面的字符,一切正常;但在我看来,有一个更优雅/更直接的解决方案。

添加(猜测!)命令行选项 -e ASCII 似乎什么都没做(?

英语:UTF-8 ASCII CSVKIT

评论

0赞 skomisa 5/6/2023
是的,文档似乎没有在任何地方正式定义有效值(假设这样的列表甚至存在)。但是你可以尝试一些简单的事情: [1] 只需从 GitHub 下载 cvskit 并全局搜索源代码即可自行编码。[2] 也许可以尝试“latin1”或“latin-1”作为您的编码值而不是 ASCII?
0赞 JosefZ 5/6/2023
github.com/wireservice/csvkit 说(源)语言是 Python 100.0%。此外,所有工具共有的参数中有一个注释:如果从标准输入读取,则 --encoding 选项不起作用。请改为设置 PYTHONIOENCODING 环境变量。因此,我想该选项接受任何内容?csvkit--encodingPYTHONIOENCODING

答:

0赞 Ed Beighe 5/6/2023 #1

感谢@skomisa :yes, latin , latin1 , latin-1 和 iso-8859-1 都被 -e 命令行选项接受,似乎都做同样的事情,并且都允许 csvcut 处理文件。

现在我还有另一个问题,但那是另一个问题!