0
私はBeautifulSoupとpandasを使用して、エラーコードと対応するエラーメッセージを含む列を含むcsvを作成しました。pandas列の内容を書式設定します。末尾のテキストと数字の削除
フォーマットする前に、列はこの
-132456ErrorMessage
-3254Some other Error
-45466You've now used 3 different examples. 2 more to go.
-10240 This time there was a space.
-1232113That was a long number.
のようなものを見て、私は正常にこのようなコードのテキストを分離しました:
dfDSError['text'] = dfDSError['text'].map(lambda x: x.lstrip('-'))
これは私が欲しいものだけを返します。
しかし、私はコードの解決策を考え出すのに苦労してきました。
dfDSError['codes'] = dfDSError['codes'].replace(regex=True,to_replace= r'\D',value=r'')
しかし、それはコード番号の末尾にエラーメッセージから番号を追加します:
は、私はこれを試してみました。したがって、45466の代わりに上記の3番目の例では、私は4546632を得るでしょう。また、マイナス符号の先頭を保持したいと思います。私は何とかrstrip()を正規表現と組み合わせて、スペースの隣にスペースがないと判断し、他のものをすべて削除することができたと思ったが、失敗しました。
for_removal = re.compile(r'\d\D*')
dfDSError['codes'] = dfDSError['codes'].map(lambda x: x.rstrip(re.findall(for_removal,x)))
TypeError: rstrip arg must be None, unicode or str
お勧めはありますか?ありがとう!