我正在开发一个从CSV文件导入数据的应用程序。有人告诉我CSV文件中的数据来自SAP,我对此完全不熟悉。
我的客户表示存在问题。CSV文件中的一列数据包含邮政地址。有时,系统看不到有效的地址。这里有一个稍微虚构的例子:
1234 MAIN ST A&#C HOUSTON
正如你所看到的,有一个街道编号,一个街道名称和一个城市,都是大写字母。没有指定州或邮政编码。在CSV文件中,假定所有地址处于相同状态。
通常,街道名称和城市之间有文字的地方,是公寓号码或字母。在上面的例子中,当我们试图将地址与其他服务(如谷歌地理定位)一起使用时,我们会遇到错误。一个建议的解决方案是简单地去掉特殊的字符,但我相信一定有更好的方法。
我想知道这个A&#C
是什么意思。它看起来像某种转义序列,但它不是我熟悉的格式。请告诉我这些奇怪的字符序列是什么意思。
我不完全确定,但我怀疑是否存在这样的"规范"转义序列。在ABAP环境中,#
用于替换不可打印的字符。这可能是因为在最初导入SAP系统时,数据被不正确地清除,而在写入输出文件时,一些不可打印的字符被#
替换。另一种解释可能是其中一个字段包含非ASCII unicode字符(例如, )并且导出程序未能将其转换为所选择的目标代码页。如果不检查实际的源数据集,很难判断。当然,这也可能是一些编程错误或奇怪的自定义字段分隔符。。。