【发布时间】:2020-02-18 06:06:44
【问题描述】:
我有多个要在某些列上合并的 CSV。但在此之前,我需要确保列值没有任何逗号。所以逗号应该换成空格(" ")。
所以我有一个包含 CSV 的文件夹。我能够加载它们并将它们合并到列town、city 和state。所以这就是我所做的
os.chdir('/Users/cho/Downloads/census/')
dfs = [pd.read_csv(f) for f in os.listdir(os.getcwd()) if f.endswith('csv')
df = reduce(lambda left,right: pd.merge(left,right,on=['town', 'city', 'state']), dfs)
df.to_csv('multicsv.csv', sep=',', encoding='utf-8', index=False)
但我还想包括将逗号替换为每列值的空格的附加操作。我知道我可以通过做类似的事情单独做到这一点
# I get the list of columns for each dataframe
cols = ['col1', 'col2', ..., 'colN']
# pass them to df.replace(), specifying each char and it's replacement:
df[cols] = df[cols].replace({'\$': '', ',': ''}, regex=True)
但是我如何将此步骤作为合并操作的一部分?
【问题讨论】: