削除したいRDDに空の行がほとんどありません。どうすればいいですか?
以下を試しましたが、動作しません。私はまだ空の行を取得しています
json_cp_rdd = xform_rdd.map(lambda (key, value): get_cp_json_with_planid(key, value)).filter(
lambda x: x is not None).filter(
lambda x: x is not '')
[u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '' 、u ''、u ''、u ''、u ''、u ''、u ''、u ''、u '[{"PLAN_ID": "d2031aed-175f-4346-af31-9d05bfd4ea3a"、 " CostTotalInvEOPAmount ":0.0、" St oreCount ":0、" WeekEndingData ":" 2017-07-08 "、" UnitTotalInvBOPQuantity ":0.0、" PriceStatus ":1、" UnitOnOrderQuantity ":null、" CostTotalInvBOPAmount ":0.0、" RetailSalesAmount ":0.0、" UnitCostAmount " :0.0、 "CostReceiptAmount":0.0、 "CostSalesAmount":0.0、 "UnitSalesQuantity":0.0、 "UnitReceiptQuantity":0.0、 "UnitTotalInvEOPQuantity":0.0、 "CostOnOrderAmount":null}] '、u' '、u' '、 u ''、u ''、u ''、u ''、u ''、u ''、u '']
filter(lambda x: x is not '')
をfilter(lambda x: x is not u'')
に置き換えて、うまくいきました
is
は、オブジェクトのIDが等しいかどうかをチェックします。 Python 2.xでは、!=
を使用できます
.filter(lambda x: x is not None).filter(lambda x: x != "")
しかし、慣用的には、IDを持つ単一のfilter
のみを使用できます。
.filter(lambda x: x)
または直接 bool
:
.filter(bool)