使用 python 从 CSV 列中提取城市和州

Extracting City and State from a column in CSV using python

917 1st St, Dallas, TX 75001
682 Chestnut St, Boston, MA 02215
669 Spruce St, Los Angeles, CA 90001
669 Spruce St, Los Angeles, CA 90001

所以,我正在尝试从给定数据中提取城市和州...

def get_city_state(address):
    asplit = address.split(",")
    ssplit = address.split(" ")
    city = asplit[1].split()[-1]
    state = asplit[2].split()[0]
    return city , state


all_data['City'] = all_data['Purchase Address'].apply(lambda x: f"{get_city_state(x)}")
all_data.head()

你想要这个吗?

all_data = pd.DataFrame({'Purchase Address': ['917 1st St, Dallas, TX 75001',
                               '682 Chestnut St, Boston, MA 02215',
                               '669 Spruce St, Los Angeles, CA 90001',
                               '669 Spruce St, Los Angeles, CA 90001']})

仅城市 :

def get_city_state(address):
    asplit = address.split(",")
    ssplit = address.split(" ")
    city = asplit[1].split()[-1]
    state = asplit[2].split()[0]
    return city 


all_data['City'] = all_data['Purchase Address'].apply(get_city_state).to_list()

仅美国 :

def get_city_state(address):
        asplit = address.split(",")
        ssplit = address.split(" ")
        city = asplit[1].split()[-1]
        state = asplit[2].split()[0]
        return states 
    
    
    all_data['States'] = all_data['Purchase Address'].apply(get_city_state).to_list()

两者:

def get_city_state(address):
    asplit = address.split(",")
    ssplit = address.split(" ")
    city = asplit[1].split()[-1]
    state = asplit[2].split()[0]
    return city , state


all_data[['City', 'State']] = all_data['Purchase Address'].apply(get_city_state).to_list()

输出:

最简单的方法是使用 Pandas。我想您在 csv 文件中有数据,或者您可以将它们编辑为 csv 文件。那么:

1º 进口 pandas:

import pandas as pd

2º 使用您的数据创建数据框(可以是 csv、jason、xls 等)。在这种情况下,代码引用逗号分隔的 csv 文件:

pd.read_csv('path or url of csv file', sep = ',')

输出:打印你的数据框 之后,您可以编辑该行并分配给 var:

df = pd.read_csv('path or url of csv file', sep = ',')

现在,要提取您需要的列:

df(['City','State'])

说“谢谢”是一种赞赏,但它并没有回答问题。相反,投票给 对您帮助最大的答案!如果这些答案对您有帮助,请考虑以更有建设性的方式表示感谢——对您的同行在这里提出的问题提供您自己的答案。