主にCSVをロードしたときに、各値がダブルクォーテーションで囲われてしまっているときがありますね。細かいことはわかりませんが、あれは、マイクロソフトのエクセル側で文字列と認識しようとして、ダブルでくくっているのだと思います。このようなとき、python側でダブルを削除したいと思うときがあります。これを実現するには、pythonの文字列の仕様を理解しておく必要があります。
pythonでは、ダブルクォーテーションあるいはシングルクォーテーションで文字を囲うことで、それが文字列として認識されます。また、ダブルクォーテーションで囲われた中にシングルクォーテーションがある場合、シングルクォーテーションは文字列として認識されます。逆も同様で、シングルクォーテーションで囲われた中にダブルクォーテーションがある場合、ダブルクォーテーションは文字列として認識されます。
これを利用することで、文字列中にあるダブルクォーテーションを除去することができます。これを実現する方法は以下となります。
s = 'あい"うえお' # 文字列の中にあるダブルは文字扱い
print('削除前: ', s)
s = s.replace('"', '') # シングルでダブルを囲うことで、文字列にあるダブルを認識し、削除
print('削除後: ', s)
同様に、文字列中のシングルクォーテーションの削除も可能です。
s = "あい'うえお" # 文字列の中にあるシングルは文字扱い
print("削除前: ", s)
s = s.replace("'", "") # ダブルでシングルを囲うことで、文字列にあるシングルを認識し、削除
print("削除後: ", s)
ポイントは、削除したい記号ではない方で、文字列の認識を行うということです(ダブルを消したいならば、シングルで文字列認識を行う、など)。
[…] […]