# -*- coding: UTF-8 -*-
import os.path
import os
import time
import datetime
import pandas as pd
from sqlalchemy import create_engine
# 先获取到一级目录
def traversalDir_FirstDir(path):
list = [] # 定义一个列表,用来存储结果
if (os.path.exists(path)):
files = os.listdir(path) # 获取该目录下的所有文件或文件夹目录
for file in files:
m = os.path.join(path, file) # 得到该文件下所有目录的路径
if (os.path.isdir(m)):
h = os.path.split(m)
list.append(h[1])
return list
# 然后在获取一级目录下面文件日期最大的
def scan_files(directory, prefix=None, postfix=None):
files_list = []
for root, sub_dirs, files in os.walk(directory):
for special_file in files:
if postfix:
if special_file.endswith(postfix):
files_list.append(os.path.join(root, special_file))
elif prefix:
if special_file.startswith(prefix):
files_list.append(os.path.join(root, special_file))
else:
files_list.append(os.path.join(root, special_file))
return files_list
# 获取文件的创建时间
def get_FileCreateTime(filePath):
t = os.path.getctime(filePath)
d = datetime.datetime.fromtimestamp(t)
str_time = d.strftime("%Y-%m-%d %H:%M:%S")
return str_time
if __name__ == '__main__':
conn = create_engine(
'mysql+pymysql://public:123456@192.168.0.22:3307/product_value?charset=utf8')
main_path = r'//192.168.0.145/账户净值'
for two_path_ in traversalDir_FirstDir(main_path):
two_path = main_path+r'/'+two_path_
df = pd.DataFrame()
for file_names in scan_files(two_path):
create_times = get_FileCreateTime(file_names)
df = df.append({'create_time': create_times,
'file_name': file_names}, ignore_index=True)
df = df.sort_values(ascending=False, by='create_time')
df = pd.read_excel(df.values[0][1])
pd.io.sql.to_sql(df, two_path_, con=conn, if_exists='replace')
判断文件创建时间 并存入数据库__将公司绩效存到数据库
最新推荐文章于 2024-03-25 21:06:44 发布
本文介绍了一个Python脚本,该脚本用于遍历指定目录下的所有子目录及文件,并获取每个文件的创建时间。通过使用os模块来获取目录结构,pandas和sqlalchemy进行数据处理和存储。脚本最终将最新的文件内容存入MySQL数据库。
1204

被折叠的 条评论
为什么被折叠?



