Pythonの変数にてCSVデータを定義する際のインデントを削除する方法


概要

Databricksにてテストを実施する際などに、Pythonの変数にてCSVデータを定義するのですが、その変数からインデントを削除する方法を共有します。

変数にインデントを実施すると、そのままでは変数にインデント(スペース等)が含まれてしまいます。

そのインデントを、inspectにあるcleandocメソッドにより除去できるようです。

引用元:inspect --- 活動中のオブジェクトの情報を取得する — Python 3.9.4 ドキュメント​​​​​​​

inspectにあるcleandocメソッドを利用すると下記のようになります。

コード

1. データを準備

# データを定義
class sample:
    csv_data = """
    id,name,mail,weight, height
    1,"AAA","[email protected]",53.5,180
    2,"BBB","[email protected]",53.5,180
    3,"CCC","[email protected]",53.5,180
    """

print(sample.csv_data)

2. インデント等の情報を除去

import inspect
print(inspect.cleandoc(sample.csv_data))

その他の方法

textwrap.dedentでも可能

textwrap.dedentによる方法を教えていただいたので、記載しておきます。

import textwrap
print(textwrap.dedent(sample.csv_data)[1:-1])