Python 3.7。x windows上。 我在使用字典中的string.replace()时遇到了问题,问题是字典值中有星号。 快速上下文:我们收集野外植物物种的数据,为了使事情更快,我们使用7个字符的“代码”和相应的完整的科学名称。如果是报告用的非本地物种,名字后面会有一个星号。例如:Cencili = Cenchrus ciliaris*或Eucpopu = Eucalyptus populnea 字段数据如下(在panda df中):
FieldData
Location Species
1 Site_1 Uromosa, Chlgaya, Cencili
2 Site_2 Cencili, Sclmuri, Eucpopu, Glaaris, Atahemi
词汇表/定义表是这样的(在转换成字典之前):
SpeciesList
Code Scientific
1 Cencili Cenchrus ciliaris*
2 Eucpopu Eucalyptus populnea
我尝试:
import pandas as pd
import csv, re
FieldData = pd.read_csv('FieldDataPath')
SpeciesList = pd.read_csv('SpeciesListPath')
SpeciesDict = dict(zip(SpeciesList.Code, SpeciesList.Scientific))
for k, v in SpeciesDict.items():
FieldData['Species'].replace(k, v, inplace = True, regex =