欢迎关注数据挖掘基础专栏
现给定一个文件夹,下面有很多文件(可能是一天一个数据文件等),我们要读取该文件夹下面的所有文件,如:
代码(包括删除空文件,有参考网上代码):
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 20 23:28:00 2019
@author: 1
"""
import pandas as pd
import os
# 删除空文件夹,否则会报错
def traverse(filepath):
# 遍历filepath下所有文件,包括子目录
files = os.listdir(filepath)
for fi in files:
fi_d = os.path.join(filepath, fi)
if os.path.isdir(fi_d): # 判断是否为文件夹
if not os.listdir(fi_d): # 如果文件夹为空
os.rmdir(fi_d) # 删除这个空文件夹
else:
traverse(fi_d)
else:
file = os.path.join(filepath, fi_d)
if os.path.getsize(file) == 0: # 文件大小为0
os.remove(file) # 删除这个文件
def get_file(path): # 创建一个空列表
files = os.listdir(path)
files.sort() # 排序
list = []
for file in files:
if not os.path.isdir(path + file): # 判断该文件是否是一个文件夹
f_name = str(file)
# print(f_name)
tr = '\\' # 多增加一个斜杠
filename = path + tr + f_name
list.append(filename)
return (list)
if __name__ == '__main__':
path = r'D:\workspace\python\m1\T-drive Taxi Trajectories\release\taxi_log_2008_by_id'
traverse(path)
list = get_file(path)
for i in range(10): # 表示读10个文件
df = pd.read_csv(list[i], sep=',')
df.to_csv('taxi2.csv', mode='a', header=None)