2017-05-03 5 views
2

を変化させる際に列名を置き換える私は、多くの場合、列のタイトルは、HTMLのジャンクに満ちているデータのcsvファイルを受け取るには - と言う:テキストが少し

"Do you like to VOTE _-<span style="font-size:16px;">in accordance with 
your feelings&nbsp;</span>" 

はこれに対処するための痛みですので、私は交換してくださいよ

data = data.rename(columns={'Do you like to VOTE _-<span style="font-size:16px;">in accordance with your feelings&nbsp;</span>':'VOTE'}) 

問題がジャンクで「_」文字が一定でないことということです:時にはそれが空のスペースですが、時にはそれが疑問符だ、などこれは私が手動で指定しなければならないことを意味管理可能なものとジャンク全体の目的を敗北させるキャラクター。

私の疑問は、考えられるすべてのケースを考慮してアンダースコアの代わりに使用できるワイルドカード文字を指定できるかどうかです。私はこれに正規表現のメソッドがある可能性があることを理解していますが、これは簡単なことであるように見えるので、私はより基本的なものを見逃しているのだろうか?

答えて

2

あなたは正規表現

import re 

f = lambda x: re.sub(r'.*VOTE.*', 'VOTE', x) 

df.rename(columns=f, inplace=True) 

それとも、

df.columns = df.columns.str.replace(r'.*VOTE.*', 'VOTE') 
+0

ありがとうcolumnsオブジェクトにstr.replaceメソッドを使用することができてreモジュールおよび代替物を使用することができます! 2つの実用的で非常に簡単な解決策 - 私が望んでいたもの! – Lodore66

関連する問題