在处理CSV文件时,有时需要将文件名中的信息解析并作为额外的列添加到数据中。以下是一个详细的步骤和示例代码,展示如何实现这一目标。
CSV(Comma-Separated Values)文件是一种常见的数据交换格式,每行代表一条记录,字段之间用逗号分隔。将文件名信息解析为多列,意味着从文件名中提取特定的部分,并将这些部分作为新的列添加到CSV数据中。
假设我们有一批CSV文件,文件名格式为data_YYYYMMDD_category.csv
,我们希望将日期和类别信息解析为额外的列。
import os
import pandas as pd
def extract_info_from_filename(filename):
parts = filename.split('_')
date = parts[1]
category = parts[2].split('.')[0]
return date, category
def process_csv_files(directory):
all_data = []
for filename in os.listdir(directory):
if filename.endswith('.csv'):
date, category = extract_info_from_filename(filename)
df = pd.read_csv(os.path.join(directory, filename))
df['date'] = date
df['category'] = category
all_data.append(df)
combined_df = pd.concat(all_data, ignore_index=True)
return combined_df
# 使用示例
directory_path = 'path_to_your_csv_files'
result_df = process_csv_files(directory_path)
result_df.to_csv('combined_data_with_metadata.csv', index=False)
通过上述方法,可以有效地将文件名信息解析为多列,并处理可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云