我有一个文件夹,其中包含的文件如下:一个月一次,一个月一次,一个月二次
我想读取所有文件,并将其连接在一个csv中,然后将此连接的df打印为ANGOSTURA_U1_202209_month.csv
考虑到这些文件可以称为Colbun_U1_20220801.csv
、Colbun_U1_20220802.csv
、Colbun_U1_20220803.csv
,但是我希望输出的文件名始终是名字和日期。Colbun_U1_202208_month.csv
如果文件为ANGOSTURA_U1_XXXX01.csv
,则输出文件名:ANGOSTURA_U1_XXXX_month.csv
,如果文件为Colbun_U2_XXXX01.csv
,则输出文件名:Colbun_U2_XXXX_month.csv
,但它始终位于Colbun或Angostura文件夹中,而不是两者
这是我的代码:(我尝试了os.listdir
和glob.glob
)
import pandas as pd
import numpy as np
import glob
import os
import csv
all_files = glob.glob("C:/Users/ep_irojaso/Desktop/PROGRAMA DESEMPEÑO/saturnmensual/*.csv")
file_list = []
for f in (all_files):
data = pd.read_csv(f,usecols=["t","f"])
file_list.append(data)
df=pd.concat(file_list,ignore_index=True)
df.to_csv(f'C:/Users/ep_irojaso/Desktop/PROGRAMA DESEMPEÑO/Saturn2mensual/{os.path.basename(f).split(".")[0]}_mensual.csv')
1条答案
按热度按时间lrl1mhuk1#
您可以尝试以下操作:
pathlib
,而不是os
:将base
路径设置为包含CSV文件的文件夹。glob
其中的所有CSV文件,并将其排序到列表all_files
中。itertools
中的文件分组到每月的存储桶中,分组键是不带扩展名的文件名,最后到个字符(根据您的指定为天)。