python 批量更改变量名(列名字符串替换),读取多个同类型文件合并

# 替换某些变量名中的 某部分 字符串
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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值