IQ Bot:明細の下X桁を小数として扱う
実務で扱う帳票の中には、以下のように、罫線の位置が小数点を表しているケースがあります。
このようなケースも、IQ Botのカスタムロジックを使えば処理できます。
サンプルコード
カスタムロジック(小数点付加)の実装例
# 値を保存する変数: table_values
#表の操作をするときに必ず入れるコード(最初)
import pandas as pd
df = pd.DataFrame(table_values)
#############################################
# ↓↓↓ ここからが今回の処理 ↓↓↓
#############################################
import re
def decimalAdd(num, digit):
num = re.sub("\\D","",num)
seisu = str(num)[:-digit]
shosu = str(num)[-digit:]
result = str(seisu) + "." + str(shosu)
return result
df["単価"] = df["単価"].apply(decimalAdd,digit=2)
#############################################
# ↑↑↑ ここまでが今回の処理 ↑↑↑
#############################################
#表の操作をするときに必ず入れるコード(最後)
table_values = df.to_dict()
応用例
カスタムロジック(小数点付加)の実装例
# 値を保存する変数: table_values
#表の操作をするときに必ず入れるコード(最初)
import pandas as pd
df = pd.DataFrame(table_values)
#############################################
# ↓↓↓ ここからが今回の処理 ↓↓↓
#############################################
import re
def decimalAdd(num, digit):
num = re.sub("\\D","",num)
seisu = str(num)[:-digit]
shosu = str(num)[-digit:]
result = str(seisu) + "." + str(shosu)
return result
df["単価"] = df["単価"].apply(decimalAdd,digit=2)
#############################################
# ↑↑↑ ここまでが今回の処理 ↑↑↑
#############################################
#表の操作をするときに必ず入れるコード(最後)
table_values = df.to_dict()
上記のサンプルコードの細かい説明は省きますが、応用する場合に変える必要があるのは以下の部分だけです。
カスタムロジック(小数点付加)の実装例
df["単価"] = df["単価"].apply(decimalAdd,digit=2)
変更箇所は2か所。
-
"単価"
の部分を処理したい列名に変えます。(2つあるので2つとも) -
digit=2
は、下2桁を小数とみなすという意味です。下3桁を小数にしたい場合は、digit=3
というふうに変えます。
コードの意味がどうしても気になる人は……
以下の記事を読みながら上記のコードを眺めてみると、意味がわかると思います。
Author And Source
この問題について(IQ Bot:明細の下X桁を小数として扱う), 我々は、より多くの情報をここで見つけました https://qiita.com/IQ_Bocchi/items/412e1062d8bb2bd98d70著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .