2017-11-24 15 views
0

私はDB2クエリの結果であるcsvを持っています。私はエラーを取得スペースをcsvフィールドから削除しますが、datetimeは無視しますobjec

for result in results: 
    result = [x.strip(' ') for x in result] 
    csvwriter.writerow(result) 

が、日付フィールドは<type 'datetime.date'>です

: は、CSVがこの

"filed1  ", "field2,  ","2017-11-24" 

ように作成されたいくつかの理由私はこれでフィールド内の空白を削除することができますよ

AttributeError: 'datetime.date' object has no attribute 'strip' 

ストリップ機能は文字列オブジェクトにのみ適用できますか?または、strオブジェクトのdatetime.dateオブジェクトを変換できますか?これは、最初の文字列にすべてのセルを変換します

result = [str(x).strip() for x in result] 

次のようにあなたのリストの内包を変更することができ

if isinstance(x,str): 
    ... 
+0

[チュートリアル](https://docs.python.org/3/tutorial/index.html)を試してみて、実際に試してみてください。 Pythonが提供するツールについて紹介し、問題解決のためのアイデアを得ることさえできます。 [ifステートメント](https://docs.python.org/3/tutorial/controlflow.html#if-statements) – wwii

答えて

1

:前

+0

ありがとう!私は愚かなエラーをしていた、私はしようとしていた: result = [str(x.strip())for result in] – maurelio79

0

ちょうど種類を確認

どうもありがとうございましたそれにstrip()を適用します。

csvwriter.writerow([str(x).strip() for x in result]) 
+2

python3で 'isinstance(object、Type)'が "標準"であることをオブジェクトもサブタイプです(あなたがチェックしていない場合、あなたのデザインで何かが「間違っている」と言うのは普通公正です) – Bilkokuya

関連する問題