2017-03-29 22 views
0

特定の列に表示される複数の特殊文字を取り除き、スペースで置き換えたいが、ファイルをExcelドキュメントに書き込もうとするとこのエラーが発生する。 複数の特殊文字の置き換え

Exception: Invalid Excel character '[]:*?/\' in sheetname 'AL DINTE LASA/JACKY'S' 

は、私はすでに以下試してみましたが、それは動作していないが、私はアンダースコアで置き換え、その後それは、複数の特殊文字を取り除く必要がある理由を知っているといけません。

df['Name'].replace(["/''//'-[]:*?/\\/#",'_'],regex=True) 

私はちょうど正しくdf.replaceを使用していない、私はこのエラーを回避するように見えるカントしようとする他に何を知りませんか?

答えて

2

問題はスプレッドシートデータ自体にはなく、スプレッドシートの名前にあります。具体的には、シート名にスラッシュは使用できません。名前を「AL DINTE LASA-JACKY'S」に変更できます。これは正常に動作するはずです。

+0

私のコードでは変更できませんか?どのように私が持っているコードを使用することができますか、それらがスペースまたはアンダースコアの代わりに名前列のスラッシュである場合指定するように? – Cannon

+0

私が知る限り、str.replace関数は物事を一つずつ置き換え、正規表現の表現は扱いません。私は間違っている可能性があります - あなたはこれについて私にドキュメントを教えてくれますか?それ以外の場合は、reモジュールをインポートしてregexesを扱う必要があります。 replace( '/'、 '_') –

+0

あなたの絶対的な権利はありません。私が取り除くことを望んでいたすべての特殊文字を書くことができなかったことを理解できませんでした。 str.replace( '/'、 '_')あなたが正しいと思ったのは、それは私にこのような問題を与えていた。ありがとう、Vergilを笑う。 – Cannon

関連する問題