Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Python 拆分地址的方法?多个分隔符?_Python_Regex_Pandas_Csv_Strsplit - Fatal编程技术网

Python 拆分地址的方法?多个分隔符?

Python 拆分地址的方法?多个分隔符?,python,regex,pandas,csv,strsplit,Python,Regex,Pandas,Csv,Strsplit,我需要一种方法来帮助我拆分CSV文件中的地址: 我需要将完整地址列拆分为->所有者街道,所有者城市: 3661日光浴DR工作室城市->3661日光浴DR工作室城市 洛杉矶78460号邮政信箱0->洛杉矶78460号邮政信箱0 洛杉矶第68 E 89街->洛杉矶第68 E 89街 但问题是我没有一个在所有地址中都能找到的分隔符(因为有些地址是邮政信箱)。 我想先用多个分隔符分割普通街道地址: import re re.split('ST AVE PL LN DR',str) 然后在有编号的地方拆

我需要一种方法来帮助我拆分CSV文件中的地址: 我需要将完整地址列拆分为->所有者街道,所有者城市:

  • 3661日光浴DR工作室城市->3661日光浴DR工作室城市
  • 洛杉矶78460号邮政信箱0->洛杉矶78460号邮政信箱0
  • 洛杉矶第68 E 89街->洛杉矶第68 E 89街
  • 但问题是我没有一个在所有地址中都能找到的分隔符(因为有些地址是邮政信箱)。 我想先用多个分隔符分割普通街道地址:

    import re
    re.split('ST AVE PL LN DR',str)
    
    然后在有编号的地方拆分采购订单箱:如下所示:

    temp = re.compile("([a-zA-Z]+)([0-9]+)")
    res = temp.match(test_str).groups()
    

    我还想保留普通街道地址和邮政信箱的分隔符。任何帮助都将不胜感激。

    充其量只能猜测,然后必须根据输入数据进行验证。俗话说:垃圾进来,垃圾出去。在这里投入精力的最佳方式是确保未来的输入更加整洁,即通过CSV或其他格式拆分为字段。@TigerhawkT3我知道,我收到了来自城市的数据。。。很乱。起初,我得到的数据是:康普顿爱抚大道16711号,邮编90221。非常令人沮丧。像谷歌地图这样的地图软件只使用一行这样的输入,但它有一个非常成熟的解析器/算法以及一个巨大的数据库作为后盾。也许您可以将这些地址输入到此类软件的API中,让它为您处理这些地址,然后收集整理后的结果?有用于Python的邮政编码数据库。也许使用其中一个来查找覆盖的城市名称,然后将城市从其他城市中分离出来是很简单的。我会研究它,谢谢你的建议@Tigerhawkt3最好是猜测,然后根据输入数据进行验证。俗话说:垃圾进来,垃圾出去。在这里投入精力的最佳方式是确保未来的输入更加整洁,即通过CSV或其他格式拆分为字段。@TigerhawkT3我知道,我收到了来自城市的数据。。。很乱。起初,我得到的数据是:康普顿爱抚大道16711号,邮编90221。非常令人沮丧。像谷歌地图这样的地图软件只使用一行这样的输入,但它有一个非常成熟的解析器/算法以及一个巨大的数据库作为后盾。也许您可以将这些地址输入到此类软件的API中,让它为您处理这些地址,然后收集整理后的结果?有用于Python的邮政编码数据库。也许使用其中一个来查找覆盖的城市名称,然后将城市从其他城市中分离出来是很简单的。我会研究它,谢谢你的建议@虎虎队3