python实现,读取excel 中A 列和B列数据,批量将 test.yaml中,与A列相同的数据,替换为B列的数据
时间: 2024-03-05 20:48:44 浏览: 16
可以使用Python的pandas库和pyyaml库来实现该功能。具体步骤如下:
1. 导入需要的库:
```
import pandas as pd
import yaml
```
2. 读取Excel文件并筛选需要的列:
```
df = pd.read_excel('example.xlsx', usecols=['A', 'B'])
```
3. 读取yaml文件:
```
with open('test.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
```
4. 遍历Excel中的A列和B列数据,并替换yaml文件中相应的内容:
```
for index, row in df.iterrows():
key = row['A']
value = row['B']
if key in data:
data[key] = value
```
5. 将修改后的数据重新写入yaml文件中:
```
with open('test.yaml', 'w') as f:
yaml.dump(data, f)
```
完整代码如下:
```
import pandas as pd
import yaml
df = pd.read_excel('example.xlsx', usecols=['A', 'B'])
with open('test.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
for index, row in df.iterrows():
key = row['A']
value = row['B']
if key in data:
data[key] = value
with open('test.yaml', 'w') as f:
yaml.dump(data, f)
```
注意:在使用pyyaml库时,需要指定Loader为yaml.FullLoader,以避免安全性问题。