csv嵌套键值对怎么提取
时间: 2024-05-12 14:20:05 浏览: 9
可以使用Python的pandas库来处理嵌套键值对的CSV文件。具体步骤如下:
1. 使用pandas的read_csv函数读取CSV文件,将其加载到DataFrame中。
```python
import pandas as pd
df = pd.read_csv('filename.csv')
```
2. 使用pandas的json_normalize函数将嵌套的键值对展平成DataFrame。
```python
from pandas.io.json import json_normalize
df = json_normalize(df.to_dict('records'))
```
3. 可以使用pandas的loc或iloc函数来选择特定的行和列,然后使用字典的方式访问嵌套的键值对。
例如,假设CSV文件的格式如下:
```
id,info
1,"{'name': 'John', 'age': 30, 'address': {'city': 'New York', 'state': 'NY'}}"
2,"{'name': 'Mary', 'age': 25, 'address': {'city': 'Los Angeles', 'state': 'CA'}}"
```
我们可以使用如下代码来提取地址的城市:
```python
city = df.loc[0, 'info.address.city']
print(city) # 输出 New York
```
或者使用如下代码来提取所有记录的姓名和城市:
```python
data = []
for i in range(len(df)):
name = df.loc[i, 'info.name']
city = df.loc[i, 'info.address.city']
data.append({'name': name, 'city': city})
print(data) # 输出 [{'name': 'John', 'city': 'New York'}, {'name': 'Mary', 'city': 'Los Angeles'}]
```