Downloads/challenges
)的文件夹。 azerbaijan_challenge_entrants.csv
。我想创建一个新CSV(all_entrants.csv
),其中包含来自所有100个CSV的所有数据,添加一个新列:challenge
,其中应包含行数据来自的CSV名称从
我通常喜欢Python这样的任务。但我正在努力使这项工作。任何帮助将不胜感激!
答案 0 :(得分:4)
标准库和第三方库os
中的pandas
可以实现此目的:
import os
import pandas as pd
mypath = os.path.join('Downloads', 'challenges')
# get list of files
files = [f for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
# build list of dataframes, adding "challenge" column
dfs = [pd.read_csv(os.path.join(mypath, f)).assign(challenge=f) for f in files]
# concatenate dataframes into one
df = pd.concat(dfs, ignore_index=True)
# write to csv
df.to_csv('all_entrants.csv')