我应该如何从数据框中删除特殊字符(空格除外)

时间:2018-08-14 04:52:17

标签: python regex excel pandas dataframe

我正在读取excel文件(仅一张),看起来非常像这样。我想删除“组织”列下的所有数字,下划线和连字符。 “组织”下的输出应为ddc systems,依此类推。

  Name      Org
0   abc   14_ddc_-_systems
1   sdc   14_ddc_-_systems
2   csc   14_ddd_-_systems
3   rdc   23_kbf_org
4   rfc   23_kbf_org

我在下面尝试删除数字,但是它不起作用..

s = sheet1['Org'].head()
s = s.replace('\d+\s', '')

任何帮助将不胜感激!!

1 个答案:

答案 0 :(得分:2)

您可以将 public function store(Request $request) { $upload = $request->file('upload-file'); $getPath = $upload->getRealPath(); $file = fopen($getPath,'r'); while($columns = fgetcsv($file)) { if($columns[0]=="") continue; $data = $columns; foreach($data as $key=>$value) { $name = $data[0]; $email = $data[1]; $password = $data[2]; } try{ if (!User::whereEmail($email)->exists()) { $user = User::Create( [ 'name'=>$name, 'email'=>$email, 'password'=>$password, ]); $user->save(); } } catch(Exception $e) { if($e->getCode() == 23000) return 'we have found duplicate records'; else $e->getCode(); }; } 与正则表达式一起使用。

例如:

str.replace

输出:

import pandas as pd

df = pd.DataFrame({"Org": ["14_ddc_-_systems", "14_ddc_-_systems", "23_kbf_org"]})
df["New"] = df["Org"].str.replace(r"[^a-zA-Z ]+", " ").str.strip()
print(df)