我有一個帶有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