Python利器:os与chardet读取多编码文件
在数据处理中会遇到读取位于不同位置的文件,每个文件所在的层级不同,而且每个文件的编码类型各不相同,那么如何高效地读取文件呢?
在读取文件时首先需要获取文件的位置信息,然后根据文件的编码类型来读取文件。本文将使用os
获取文件路径,使用chardet
得到文件编码类型。
获取文件路径
- 相同层级下的文件
import os
data_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