["python","pandas","string","removing-whitespace"]
Strip whitespace from strings in a column

I am using python csvkit to compare 2 files like this: df1 = pd.read_csv('input1.csv', sep=',\s+', delimiter=',', encoding="utf-8") df2 = pd.read_csv('input2.csv', sep=',\s,', delimiter=',', encoding="utf-8") df3 = pd.merge(df1,df2, on='employee_id', how='right') df3.to_csv('output.csv', encoding='utf-8', index=False) Currently I am running the file through a script before hand that strips spaces from the employee_id column. An example of employee_ids: 37 78973 3 23787 2 22 3 123 Is there a way to get csvkit to do it and save me a step?
You can strip() an entire Series in Pandas using .str.strip(): df1['employee_id'] = df1['employee_id'].str.strip() df2['employee_id'] = df2['employee_id'].str.strip() This will remove leading/trailing whitespaces on the employee_id column in both df1 and df2 Alternatively, modify the read_csv lines to use skipinitialspace=True df1 = pd.read_csv('input1.csv', sep=',\s+', delimiter=',', encoding="utf-8", skipinitialspace=True) df2 = pd.read_csv('input2.csv', sep=',\s,', delimiter=',', encoding="utf-8", skipinitialspace=True) It looks like you are attempting to remove spaces in a string containing numbers, which can be accomplished with pandas.Series.str.replace: df1['employee_id'] = df1['employee_id'].str.replace(" ", "") df2['employee_id'] = df2['employee_id'].str.replace(" ", "")