# 替换某些变量名中的 某部分 字符串
def re_column_name(dt, substr, newstr, ls=[]):
"""
Parameters
----------
dt : datasets
substr : str
string that will be replaced.
newstr : str
string that will replace substr.
ls : list
the column index in the datasets, like [0, 1, 3].
"""
if len(ls)>0:
dt.iloc[:,ls].columns = dt.iloc[:,ls].columns.map(lambda x: x.replace(substr, newstr))
else:
dt.columns = dt.columns.map(lambda x: x.replace(substr, newstr))
return dt
# 读取多个同类型文件,并合并;文件名有相同的前缀或后缀等,便于glob自动识别文件名,过滤无效文件名
import glob
NewFile = pd.DataFrame()
# 文件名以 DailyReport 开始
for file_r in glob.glob("DailyReport*.csv"):
data_r = pd.read_csv(file_r)
# 更改列名,使用到上述自定义函数re_columns,如不需要可注释
data_r = re_column_name(data_r, 'str1', 'newstr1', [0,1,2,3]) # 更改列名
NewFile = NewFile.append(data_r)
python 批量更改变量名(列名字符串替换),读取多个同类型文件合并
于 2020-04-16 09:22:44 首次发布