首页 > 解决方案 > Python 遍历 CSV 工作簿文件夹并仅将具有关键字和日期范围的工作簿名称附加到主工作表

问题描述

我对这个脚本的目标是遍历数百个 Excel 和 CSV 文件,只找到带有“cash”的文件字符串名称,即 CSV 文件,以及 2 个日期期间之间,格式为 YYYYMMDD。找到后,脚本会将第一个工作表的第二行拉到最后一行并将其附加到主工作表。

到目前为止,这是我能够整理的所有内容,但代码错误。任何帮助表示赞赏。先感谢您!

import pandas as pd
from glob import glob
from datetime import datetime

path = r'\\base\sub1\sub2\sub3\sub4\sub5\sub6\SearchFolder'

base_date = datetime(2020, 10, 1, 00, 00)
dates = pd.date_range(base_date, periods=92).tolist()
dates = [i.strftime("%Y%m%d") for i in dates]
list_of_csvs = glob(path+'*.csv')
print (list_of_csvs)
csvs_to_keep = []
for csv in list_of_csvs:
    if 'cash activities' in str(csv).lower():
        print ('cash activities found')
        for date in dates:
            if str(date) in csv:
                print (csv)
                csvs_to_keep.append(csv)
                    
master_df = pd.DataFrame()
for csv in csvs_to_keep:
    df = pd.read_csv(csv)
    master_df = master_df.append(df)
master_df.to_excel('master_file.xlsx', index=False)

标签: pythonpandasglob

解决方案


推荐阅读