python os模块获取文件路径

1、# 获取当前工作目录的上一级目录 dir_path = os.path.dirname(os.path.abspath('.'))

2、获取当前路径:

# 获取当前脚本文件的绝对路径
script_path = os.path.abspath(__file__)

# 获取程序所在目录
dir_path = os.path.dirname(script_path)

3、获取当前路径的文件名:file_name = os.path.basename(os.getcwd())
获取当前路径下所有文件名:file_names = os.listdir(os.getcwd())

4、字符串正则化
字符串正则化(string normalization)是指将不同尽管在表意上相同的字符串转换成规范的标准形式的过程。
Python中可以使用re模块实现字符串正则化。

具体步骤如下:

导入re模块:import re
定义正则表达式规则:pattern = re.compile(r’正则表达式’)
使用sub函数进行字符串正则化:new_string = re.sub(pattern, replacement, old_string)
其中,r’正则表达式’是用于匹配字符串的正则表达式,replacement是要替换的内容,old_string是要正则化的字符串,得到的新字符串为new_string。

代码:

import re
old_string = 'abc123def456'
pattern = re.compile(r'\d')
new_string = re.sub(pattern, '#', old_string)
print(new_string)

5、获取当前程序的文件名(py文件名):filename = os.path.basename(__file__)
6、python根据文件夹下文件名进行分类,将具有相同部分的数据进行整合输出。
要求:文件夹中有1_2019.csv,1_2020.csv,2_2019.csv,2_2020.csv等文件,现在想根据1和2,将1_2019.csv,1_2020.csv合并输出,2_2019.csv,2_2020.csv合并输出成新的dataframe文件1_merge.csv和2_merge.csv。
代码:

import glob
import pandas as pd

# 获取所有csv文件的路径
files = glob.glob('/path/to/files/*.csv')

# 根据前缀将文件路径分组
file_groups = {}
for file in files:
    prefix = file.split('/')[-1].split('_')[0]
    if prefix not in file_groups:
        file_groups[prefix] = []
    file_groups[prefix].append(file)

# 遍历每组文件,将它们合并为一个DataFrame对象
for prefix, files in file_groups.items():
    dfs = []
    for file in files:
        df = pd.read_csv(file)
        dfs.append(df)
    merged_df = pd.concat(dfs, axis=0)
        
    # 将合并后的DataFrame保存到文件中
    output_file = f"{prefix}_merge.csv"
    merged_df.to_csv(output_file, index=False)

你可能感兴趣的:(#,python,编程,python,pandas,开发语言)