有2个文件夹分别为文件夹1和文件夹2,文件夹1包含以年-月-日格式时间为命名的txt文件,每个txt内格式为数字文本加逗号加数字文本,文件夹2包含以年-月-日格式时间命名的子文件夹,子文件夹包含以数字文本命名的csv文件。要求输入一个日期,找到以这个日期下的文件1下txt文件中的数字文本同名的文件夹2这个日期子文件中的csv文件,并用pandas读取这些csv文件
时间: 2023-06-11 14:05:35 浏览: 143
好的,我理解了您的要求。您需要输入一个日期,找到文件夹1中同名的txt文件,然后再在文件夹2内该日期的子文件夹中找到相应的csv文件,并用pandas读取这些csv文件。下面是实现的代码:
```python
import os
import pandas as pd
# 以年-月-日格式时间为命名的txt文件所在的文件夹
path1 = '/path/to/folder1'
# 以年-月-日格式时间为命名的子文件夹所在的文件夹2
path2 = '/path/to/folder2'
date_str = input('请输入一个日期,格式为年-月-日:')
# 遍历文件夹1中的所有txt文件
for filename in os.listdir(path1):
if filename.endswith('.txt'):
# 将文件名字符串中的日期提取出来
file_date_str = filename.split('.')[0]
if file_date_str == date_str:
# 找到该日期下的子文件夹名称
folder_name = filename.split('.')[0]
# 构造该日期下的子目录路径
folder_path = os.path.join(path2, folder_name)
# 遍历子文件夹中的所有csv文件
for csv_filename in os.listdir(folder_path):
if csv_filename.endswith('.csv'):
# 读取csv文件
csv_filepath = os.path.join(folder_path, csv_filename)
df = pd.read_csv(csv_filepath)
print(df)
```
上述代码中,首先获取用户输入的日期字符串,然后遍历文件夹1中的所有txt文件,将文件名字符串中的日期提取出来和用户输入的日期字符串进行匹配,如果一致,说明找到了对应日期的txt文件。然后根据txt文件名构造子文件夹名称,然后在文件夹2中构造该子目录路径。然后遍历该子目录中的所有csv文件,读取每个文件并用pandas处理。
阅读全文