Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析excel单元格。怎样_Excel_Parsing_Cell - Fatal编程技术网

解析excel单元格。怎样

解析excel单元格。怎样,excel,parsing,cell,Excel,Parsing,Cell,我们有Excel文件。此文件位于名称地址包含行的单元格中,例如: The Accounts Department, National Bank Ltd, 20 Lombard Str., London 3 WRS, England 需要在单元格组中共享信息。也就是说,我们必须有以下单元格: 国家:英国 城市:伦敦 街道:伦巴第街。 ..... 及其他 这是分析单元格内容并将内容划分为逻辑部分所必需的。 你能从我开始的时候就知道吗 没有可靠的方法可以做到这一点。假设逗号仅用于分隔单元格,这是一个

我们有Excel文件。此文件位于名称地址包含行的单元格中,例如:

The Accounts Department, National Bank Ltd, 20 Lombard Str., London 3 WRS, England
需要在单元格组中共享信息。也就是说,我们必须有以下单元格:

国家:英国 城市:伦敦 街道:伦巴第街。 ..... 及其他

这是分析单元格内容并将内容划分为逻辑部分所必需的。
你能从我开始的时候就知道吗

没有可靠的方法可以做到这一点。假设逗号仅用于分隔单元格,这是一个很大的假设,您可以打开“数据”菜单,选择“文本到列”,然后选择“逗号”作为分隔符

这将给您提供如下信息:

A1                      | B1                | C1              | D1           | E1     
The Accounts Department | National Bank Ltd | 20 Lombard Str. | London 3 WRS | England
在F1单元格中,您可以执行以下操作来尝试提取街道名称:

=RIGHT(C1,LEN(TRIM(C1))-FIND(" ",TRIM(C1)))
您可以使用此项查找城市:

=LEFT(D1,FIND(" ",TRIM(D1)))
你可能会发现我的两个公式都有例外,你只需要解决这个问题


如果我的第一个假设是错误的,并且文本中除了字段分隔符之外还有逗号,我会要求使用不同的分隔符管道返回文件。

没有可靠的方法。假设逗号仅用于分隔单元格,这是一个很大的假设,您可以打开“数据”菜单,选择“文本到列”,然后选择“逗号”作为分隔符

这将给您提供如下信息:

A1                      | B1                | C1              | D1           | E1     
The Accounts Department | National Bank Ltd | 20 Lombard Str. | London 3 WRS | England
在F1单元格中,您可以执行以下操作来尝试提取街道名称:

=RIGHT(C1,LEN(TRIM(C1))-FIND(" ",TRIM(C1)))
您可以使用此项查找城市:

=LEFT(D1,FIND(" ",TRIM(D1)))
你可能会发现我的两个公式都有例外,你只需要解决这个问题


如果我的第一个假设是错误的,并且文本中除了字段分隔符之外还有逗号,我会要求使用不同的分隔符管道返回文件。

这实际上取决于逻辑部分是否以某种方式进行分隔,以便您可以分别标识每个部分。我怀疑您是否可以假设逗号作为分隔符,因为地址组件本身可能包含逗号,例如公司/企业的名称。此外,您可能在数据清洁方面存在问题,也就是说,逗号可能丢失,或者位于错误的位置或其他位置

如果您有分隔数据,那么您的工作会稍微简化,因为您可以独立地标识每个字段。然而,这仍然不简单。如果您没有分隔数据,这将更加困难。无论如何,字段的识别可能会遵循以下原则:

1邮政编码这方面有一个众所周知的正则表达式,但是您可能需要处理格式错误或无效的邮政编码或打字错误

2乡村和城镇,城市-你可以通过英国城镇词典获得这些。有一个谷歌

3个村庄-更难,但同样地,一本字典可以帮助你完成98%的任务

4条街道、道路等:不能用字典来解释。如果字段以street、road、lane或其他内容结尾,则需要根据关键字进行某种识别。然而,这其中有很多。您可能会发现贝叶斯方法在这方面非常有效

5公司名称、部门等更难。同样,某些关键字可以标记这些,例如有限公司,但我猜您的大多数条目不保证包含法人实体。部门可以是任何东西

还有,人们的名字呢?你能认出那些吗

简言之,要正确完成这项工作,需要相当大的工作量。没有简单的答案

顺便说一句-如果您访问PAF可能会对您有所帮助:


但这仍然不能帮助你确定部门、企业或人员的名字

这实际上取决于您的逻辑部分是否以某种方式进行分隔,以便您可以分别标识每个部分。我怀疑您是否可以假设逗号作为分隔符,因为地址组件本身可能包含逗号,例如公司/企业的名称。此外,您可能在数据清洁方面存在问题,也就是说,逗号可能丢失,或者位于错误的位置或其他位置

如果您有分隔数据,那么您的工作会稍微简化,因为您可以独立地标识每个字段。然而,这仍然不简单。如果您没有分隔数据,这将更加困难。无论如何,字段的识别可能会遵循以下原则:

1邮政编码这方面有一个众所周知的正则表达式,但是您可能需要处理格式错误或无效的邮政编码或打字错误

2乡村和城镇,城市-你可以通过英国城镇词典获得这些。有一个谷歌

3个村庄-更难,但同样地,一本字典可以帮助你完成98%的任务

4条街道、道路等:不能用字典来解释。如果字段以street、road、lane或其他内容结尾,则需要根据关键字进行某种识别。然而,这其中有很多。您可能会发现贝叶斯方法在这方面非常有效

5公司名称、部门等更难。同样,某些关键字可以标记这些内容,例如 但我猜你们的大多数作品都不保证包括法人。部门可以是任何东西

还有,人们的名字呢?你能认出那些吗

简言之,要正确完成这项工作,需要相当大的工作量。没有简单的答案

顺便说一句-如果您访问PAF可能会对您有所帮助:


但这仍然不能帮助你确定部门、企业或人员的名字

提取城市和街道名称的专用公式应谨慎考虑。根据数据规范化的不同,通常需要进行字典查找以识别名称。那么具有不同行数或不同地址组件的地址呢?你的专栏不会排成一行。提取城市和街道名称的专用公式应该谨慎考虑。根据数据规范化的不同,通常需要进行字典查找以识别名称。那么具有不同行数或不同地址组件的地址呢?然后你的专栏就不会排成一行了。+1表示工作中的困难部分。天真的方法注定失败。+1表示工作的困难部分。天真的做法注定要失败。