2017-08-31 83 views
0

我正在寫一個簡短的腳本來驗證CSV中的數據,並且我正在格式化結果以轉儲到stdout併爲了便於閱讀,我在左側添加了5個空格填充。注意:我沒有使用format,因爲我不想證明輸出是正確的。用填充打印Python熊貓數據框

代碼:

def duplicate_data(): 
    dup_df = inventory_df[inventory_df.duplicated(['STORE_NO','SKU'],keep=False)] 
    if dup_df.empty: 
     print(five, 'INFO: No Duplicate Entries Found') 
    else: 
     #print('\n') 
     print(five, 'WARN: Duplicate STORE_ID and SKU Data Found!') 
     print(five, dup_df.to_string(index=False)) 

結果:

這一切的偉大工程,直到它打印數據幀:

 WARN: Duplicate STORE_ID and SKU Data Found! 
     Please Copy/Paste the following and send to the customer: 
     STORE_NO   SKU ON_HAND_QTY 
10000001 1000000000007   2 
10000002 1000000000007   8 

我可以遍歷行,但格式比更差上面的例子。

for rows in dup_df.iterrows(): 
      print(five,rows) 

有關如何格式化數據幀輸出的任何想法?

回答

0

不是超級漂亮,但你可以做這樣的事情:

def padlines(text, padding): 
    return "\n".join(padding + l for l in text.splitlines()) 

然後padlines(df.to_string(), five)