2016-11-08 9 views
0

XLSXファイルをCSVファイルに変換するスクリプト(Python: Openpyxl outputs "None" for empty cells)があります。Python rstrip()が機能しません

セルの1つが複数の行にあり、二重引用符を含みません。 rstrip()を実行すると、複数の行に残ります。

アイデアはありますか?

for rownum in sh.iter_rows(): 
       values = [("" if cell.value is None else unicode(cell.value).encode('ascii','ignore').rstrip()) 
        for cell in rownum] 
       wr.writerow(values) 

CSVファイルの最初の行は次のとおりです。

"S. No","Summary","Question","Answer","Keywords","Product","Category","Access Level (Everyone, Help, Platinum)","Status 
Public (Customer facing) 
Private (Internal only)" 

私は最後のセルに取得するにはどうすればよい

+2

rstripが完璧に働いている: は、変数の値が、その後、あなたの文字列が含まれていると言うことができます。新しい行を削除しない文字列の最後からデフォルトの空白文字を削除することになっています。 – scotty3785

+1

新しい行を削除するには、.replace( '\ n'、 '')を試すことができます。 – scotty3785

答えて

2

rstrip()のみ、文字列の末尾の空白を削除しないだろう文字列の真ん中に改行があります。 ではなく、次の操作を行います。

values = ' '.join(values.strip().split('\n')) 
関連する問題