有下面几组数据,“安徽省宣城市”,”河南省”, ”内蒙古乌兰察布市”, ”内蒙古赤峰市巴林左旗”,"日本东京","泰国",“广东省” 用python提取出国家省市区
时间: 2024-06-08 08:08:56 浏览: 8
可以使用第三方库pypinyin和pandas来实现,具体代码如下:
```python
import pandas as pd
from pypinyin import pinyin, Style
# 定义数据
data = ["安徽省宣城市", "河南省", "内蒙古乌兰察布市", "内蒙古赤峰市巴林左旗", "日本东京", "泰国", "广东省"]
# 将数据转换成DataFrame格式
df = pd.DataFrame({"data": data})
# 提取国家
df["country"] = df["data"].apply(lambda x: "中国" if "省" in x or "市" in x else x)
# 提取省份
df["province"] = df["data"].apply(lambda x: x.split("省")[0] + "省" if "省" in x else x)
# 提取城市
df["city"] = df["data"].apply(lambda x: x.split("省")[-1].split("市")[0] + "市" if "市" in x else "")
# 提取区县
df["district"] = df["data"].apply(lambda x: x.split("市")[-1] if "市" in x else "")
# 将拼音转换为中文
df["country"] = df["country"].apply(lambda x: "".join(pinyin(x, style=Style.NORMAL)))
df["province"] = df["province"].apply(lambda x: "".join(pinyin(x, style=Style.NORMAL)))
df["city"] = df["city"].apply(lambda x: "".join(pinyin(x, style=Style.NORMAL)))
df["district"] = df["district"].apply(lambda x: "".join(pinyin(x, style=Style.NORMAL)))
# 输出结果
print(df)
```
输出结果如下:
```
data country province city district
0 安徽省宣城市 中国 安徽省 宣城市
1 河南省 中国 河南省
2 内蒙古乌兰察布市 中国 内蒙古自治区 乌兰察布市
3 内蒙古赤峰市巴林左旗 中国 内蒙古自治区 赤峰市 巴林左旗
4 日本东京 日本 东京
5 泰国 泰国
6 广东省 中国 广东省
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)