2015-04-06 76 views
0

我正在处理从CSV文件导入数据的应用程序。我被告知CSV文件中的数据来自我完全不熟悉的SAP。这个字符序列的可能含义是什么? A&#C

我的客户指出存在问题。 CSV文件中的一列数据包含邮政地址。有时候,系统没有看到有效的地址。这里有一个稍微虚构的例子:

1234 MAIN ST A&#C HOUSTON 

正如你可以看到,有一个门牌号,街道名称和城市,都在大写字母。没有指定州或邮政编码。在CSV文件中,假定所有地址处于相同状态。

通常情况下,街道名称和城市之间存在文本时,它是公寓号码或信件。在上面的示例中,我们在尝试将地址与其他服务(例如Google地理位置)一起使用时遇到错误。一个建议的解决方法是简单地去除特殊字符,但我相信必须有更好的方法。

我想知道这个A&#C是什么意思。它看起来像某种转义序列,但它不是我熟悉的格式。请告诉我这些奇怪的字符序列是什么意思。

回答

1

我不完全确定,但我怀疑有一个看起来像这样的“规范”转义序列。在ABAP环境中,#用于替换不可打印的字符。可能是数据在首先导入SAP系统时未正确清理,并且在写入输出文件时,某些不可打印的字符被替换为#。另一种解释可能是其中一个字段包含非ASCII的Unicode字符(如  ),导出程序无法将其转换为所选目标代码页。不检查实际的源数据集很难说。当然,这也可能是一些编程错误或一个奇怪的自定义字段分隔符...

+0

在阅读您的问题后,我决定检查'#'和'&'是否出现在有效数据中,当然,它们分别表示为“数字”和“和”的缩写。我认为也许我被一个用户的简单拼写错误所困惑。 –