Python 对多个csv文件执行操作

Python 对多个csv文件执行操作,python,pandas,csv,Python,Pandas,Csv,我有一个包含多个CSV文件的文件夹,我想对它们执行一些操作: 我需要读取它们,然后删除每个文件的第一行,从文件名中创建一个名为“Date”的新列。(文件名类似于活动日期、2019年12月10日到2019年12月10日),然后合并所有文件 我已经设法加入了所有的文件,但我不知道什么时候应该执行这些操作 extension = 'csv' all_filenames = [i for i in glob.glob('*.{}'.format(extension))] #combine all fil

我有一个包含多个CSV文件的文件夹,我想对它们执行一些操作:

我需要读取它们,然后删除每个文件的第一行,从文件名中创建一个名为“Date”的新列。(文件名类似于活动日期、2019年12月10日到2019年12月10日),然后合并所有文件

我已经设法加入了所有的文件,但我不知道什么时候应该执行这些操作

extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in filenames ])
提前问候和感谢


Andrés

如果您在正常的for循环中阅读CSV,而不是像这里那样使用列表理解,那么创建日期列将更容易

如果您不确定如何使用datetime做您想要做的事情,lmk和我将为此添加详细信息

combined_df=pd.DataFrame()
对于文件名中的文件名:
#读取csv
df=pd.read\u csv(文件名)
#删除第一行
df=df.iloc[1:]
#创建日期列
df['Date']=datetime.datetime(文件名,“您的日期格式”)
#联姻
combined_df=combined_df.append(df,sort=False)

请注意,当对
f[-14:-4]
进行切片时,我假设所有文件名都以
YYYY\u MM\u DD.csv

结尾,一旦以这种方式连接数据帧,相应文件名上的信息就会丢失。非常感谢您,有一件事,我想它应该是[-14:-4],因为在日期(.csv)之前有4个字符。否则,我将得到一个错误。当您附加所有临时dfs时,它会变成一个列表,因此您无法连接它。是的,它现在工作得很好。只需提醒将[-14:-3]更新为[-14:-4]。非常感谢你。
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
all_dfs=[]
for f in all_filenames:
    #Load and remove 1st row
    temp_df = pd.read_csv(f)[1:]

    # Use filename to add data information
    temp_df['date'] = pd.to_datetime(f[-14:-4], format='%Y_%m_%d')
    all_dfs.append(temp_df)

combined_csv = pd.concat(all_dfs)