在数据处理中会遇到读取位于不同位置的文件,每个文件所在的层级不同,而且每个文件的编码类型各不相同,那么如何高效地读取文件呢?
在读取文件时首先需要获取文件的位置信息,然后根据文件的编码类型来读取文件。本文将使用os
获取文件路径,使用chardet
得到文件编码类型。
获取文件路径
- 相同层级下的文件
import osdata_files = []
files_dir = "./data"dirs = os.listdir(files_dir)
for dir in dirs:file_path= os.path.join(files_dir,dir)data_files.append(file_path)print(data_files)
- 不同层级下的文件
txt_files = []
init_dir = "../data"for root, dirs, files in os.walk(init_dir):for file in files:if file.endswith(".txt"):file_path = os.path.join(root