首先看一下我项目里遇到的一个情况吧,目标如标题所示。
oder_path = r'E:/项目/2016订单/'
# 由于订单数据是在一个文件夹下的多个.txt文件,所以先获取每一个.txt的路径信息
def get_file_path(path): # 获取文件路径
for root, dirs, files in os.walk(path):
file_path = []
for file in files:
# print(file) #文件名
file_path.append(os.path.join(root, file))
print(file_path)
return file_path
def get_oders(oder_path, save_path):
# 读取历史数据中的档位信息
file_paths = get_file_path(oder_path) # 获取历史主数据的路径信息
# 依次读取多个相同结构的txt文件并创建DataFrame
li = []
for file in file_paths:
data = pd.read_csv(file, encoding='utf-8', engine='python', sep=',') # 读取txt文件,有表头
num = data[["LICENCECD", "ORDER_DATE"]]
num['ORDER_DATE'] = pd.to_datetime(num['ORDER_DATE'])
# num.dropna(subset=['LICENCECD'], inplace=True) # 去除数据中没有许可证号码的行
num.drop_duplicates(subset=['LICENCECD'], keep='first', inplace=True) # 去重
li.append(num)
rangeInfo = pd.concat(li) # 从订单数据中提取出这一年的有关订单信息
rangeInfo.to_csv(save_path, sep='\t', index=False) # 保存历史数据.txt
下面是网上其他的一些,可以看看
https://www.jb51.net/article/138936.htm
# -*- coding:utf-8*-
# import sys
# reload(sys)
# sys.setdefaultencoding('utf8')
import os
import os.path
import time
time1 = time.time()
########################## 合并同一个文件夹下多个txt ################
def MergeTxt(filepath, outfile):
k = open(filepath+outfile, 'a+')
for parent, dirnames, filenames in os.walk(filepath):
for filepath in filenames:
txtPath = os.path.join(parent, filepath) # txtpath就是所有文件夹的路径
f = open(txtPath)
##########换行写入##################
k.write(f.read()+"\n")
k.close()
print("finished")
if __name__ == '__main__':
filepath = "E:/项目/2018订单/"
outfile = "oders_2018.txt"
MergeTxt(filepath, outfile)
time2 = time.time()
print(u'总共耗时:' + str(time2 - time1) + 's')
import os
path = "D:\PycharmProjects" # 文件夹路径
def get_dir(path): #获取目录路径
for root,dirs,files in os.walk(path): #遍历path,进入每个目录都调用visit函数,,有3个参数,root表示目录路径,dirs表示当前目录的目录名,files代表当前目录的文件名
for dir in dirs:
#print(dir) #文件夹名
print(os.path.join(root,dir)) #把目录和文件名合成一个路径
def get_file(path): #获取文件路径
for root, dirs, files in os.walk(path):
for file in files:
#print(file) #文件名
print(os.path.join(root,file))
if __name__ == '__main__':
get_dir(path)
get_file(path)
---------------------
原文:https://blog.csdn.net/qq_30990097/article/details/80882555
那我需要的是获取一个文件夹下所有文件的路径的一个列表,程序修改如下:
def get_file(path): # 获取文件路径
for root, dirs, files in os.walk(path):
file_path = [] # 定义一个空列表
for file in files:
# print(file) #文件名
file_path.append(os.path.join(root, file)) # 依次将文件路径追加到空列表中
print(file_path)
return file_path