我有一个excel文件,其中包含一些数据,当我将该文件保存为CSV然后有些奇怪?标记出现在&文末。请问任何1请告诉我如何解决这个问题。
?XXXXXX-XXX?
以上是下载excel文件的链接:http://www.filedropper.com/book1_5
答案 0 :(得分:1)
在此文件中,在C列中您已获得以下数据:
"0000468750-IN"
"0000468750-IN"
"0000843576AB"
"0000843576AB"
现在它并不完全可见,但是在每个数字的开头和结尾都有一个额外的隐形空白字符。您可以亲自看到它,只需编辑该单元格并通过方向箭头移动文本 - 当移动该隐形字符时,它会稍微停顿一下。如果我用下划线替换它,它看起来像:
"_0000468750-IN_"
"_0000468750-IN_"
"_0000843576AB_"
"_0000843576AB_"
如果我的文本编辑器没有欺骗我,那么该字符的代码为0x00,并且它被称为null-character。
转换为CSV时,Excel并不知道如何处理该字符。 CSV是一个文本文件,必须遵循一些编码规则。例如,如果您将其保存为CSV / ANSI,则无法存储某些Unicode字符,如ąęćżń
。类似地,通常不可能在文本文件中存储0x00字符,因为这个字符在大多数编码中是特殊的。有了这个字符,这样的文本文件就可以被检测为"二进制文件"由读者拒绝。
Excel简单地将这个奇怪的字符替换为"?"使CSV格式的数据安全的字符。 Excel并没有删除0x00字符,以便让您知道原始数据中存在奇怪的内容。
在文本数据中看到它非常奇怪。如果此XLSX是由计算机程序生成的,则可能表明此程序存在一些错误/错误。我非常怀疑这个文件是手动创建的。写起来真的很难" 0x00"手工制作的字符。我可以想到的一个选项是你可以手动获得这个选项,使用一个糟糕的条形码阅读器,并将代码扫描到Excel表格中。条形码扫描软件有时会将控制字符泄漏到文本数据流中。如果是这种情况,请更换阅读器或编写一个可以删除这些字符的过滤器。
顺便说一下。你应该能够找到并替换所有那些奇怪的角色。编辑其中一个单元格(F2键),转到文本末尾(END键)选择文本的最后一个字符(Shift + LeftArrow ONCE),复制该字符(Control + C),然后打开Find& Replace窗口(控制+ H)并将该角色贴入"查找"然后按"全部替换"。
在我的Excel上,这导致找到/替换了8个这样的字符,所以它有效。
请注意,在END键之后,您必须完全按下ShiftLeft ONCE。光标不会移动,也不会发生任何事情,也不会显示任何选择。那是因为角色是看不见的。但它就在那里,它将被选中和复制。