我有一个带有47001行的CSV文档。但是,当我在Excel中打开它时,只有31641行。在文本文档中查找各种字符
我知道47001是正确的行数;它是一个数据库表的输出,其大小我知道是47001.另外:wc -l my.csv
返回47001.
因此,Excel的解析失败。我怀疑这个文档中有某些时髦的控件或空白字符。
如何找出某些文档中使用的各种字符?
例如,考虑以下输入文件:ABCAAAaaa\n
。
我期望文件中使用的字符的字母表是:ABCa\n
。
也许如果我们压缩它,我们可以以某种方式读取Huffman Tree?
我怀疑它会比较UTF-8字符与ASCII字符的变化。例如:Excel可能会解析ASCII中的多字节字符,并将一些字节解释为控制码点。
以与输入相同的CSV格式再次导出Excel表格。使用diff比较结果与原始值。您可能首先要发送两个版本:'sed's/[^ a-zA-Z0-9 _] * // g''这会删除所有非字母数字字符,因此略有不同的格式无关紧要。 – Alfe
你知道如何编码你的'csv'吗? UTF8? ASCII? ISO-8859-1? UTF16等? – jm666
@Alfe不幸的是,Excel的CSV输出已经重新格式化了每个日期和每个金额,所以差异将每一行视为已经改变。然而,这sed给了我一个想法。我能够删除所有字母数字字符(加上我期望在日期或UUID中找到的其他字符):'sed's/[a-zA-Z0-9 _ \ - \:,\。 - \“] * // g'
Birchlabs