在Python中追加多个CSV文件并添加表示文件名的附加列,可以按照以下步骤进行操作:
import os
import glob
import pandas as pd
def append_csv_files(file_pattern, output_file):
all_files = glob.glob(file_pattern)
df_list = []
for file in all_files:
df = pd.read_csv(file)
filename = os.path.basename(file)
df['filename'] = filename
df_list.append(df)
combined_df = pd.concat(df_list)
combined_df.to_csv(output_file, index=False)
append_csv_files('path/to/csv/files/*.csv', 'path/to/output/combined.csv')
上述代码的解释如下:
os
用于操作文件路径,glob
用于匹配文件路径模式,pandas
用于处理CSV文件。append_csv_files
的函数,它接受两个参数:file_pattern
表示CSV文件的路径模式,output_file
表示输出文件的路径。glob.glob
函数根据文件路径模式获取所有匹配的CSV文件路径,并将它们存储在all_files
列表中。df_list
,用于存储每个CSV文件的数据。pd.read_csv
函数读取每个CSV文件的数据,并使用os.path.basename
函数获取文件名,并将其存储在名为filename
的新列中。df_list
列表中。pd.concat
函数将所有DataFrame对象合并为一个DataFrame对象combined_df
。to_csv
函数将合并后的DataFrame对象保存为CSV文件,并指定index=False
以避免保存索引列。append_csv_files
函数,并传入CSV文件的路径模式和输出文件的路径。这样,你就可以在Python中追加多个CSV文件,并在合并后的文件中添加表示文件名的附加列了。
领取专属 10元无门槛券
手把手带您无忧上云