1
私のクエリはデータを取得し、CSVファイルに格納します。以下に示すように、私は、1970-01-01 00:00:00に等しいフィールドがあれば、それをCSVに書き込む前にnullにするかどうかを示すマッピングを追加しました。CSVファイルにNullを追加する
ただし、このマッピングを実行するとエラーが発生します。
マイコード:
from datetime import datetime
import csv
csv_file = 'File_' + str(datetime.now().strftime('%Y_%m_%d - %H.%M.%S')) + '.csv'
header_names = { 'VT': 'Side', 'NCR': 'ExTime', 'N': 'Name', 'DT': 'Party', ' RD ': 'Period', ‘DATE’:’Date’}
with open(csv_file, 'w', newline='') as f:
w = csv.DictWriter(f, fieldnames=header_names.keys(), restval='', extrasaction='ignore')
w.writerow(header_names,)
for doc in res['hits']['hits']:
my_dict = doc['_source']
mapping = {0: "None",1: "yes", 6: "no", 9: "maybe", 100:"no/yes", 101: "no/maybe"}
VT1 = my_dict['VT']
my_dict['VT'] = mapping.get(int(VT1), VT1)
mapping1 = {0: "New", 1: "Cancel", 2: "Future"}
DT1 = my_dict['DT']
my_dict['DT'] = mapping1.get(int(DT1), DT1)
mapping2 = {1920-01-01 00:00:00: 'Null'}
PT1 = my_dict['DATE']
my_dict['DATE'] = mapping2.get(int(PT1), PT1)
w.writerow(my_dict)
エラー1:
mapping2 = {01/01/1970 00:00:00: ' '}
^
SyntaxError: invalid token
エラー2
Traceback (most recent call last):
File "C:/Users/rich/.PyCharmCE2017.2/config/scratches/CSV.py", in <module>
my_dict['DATE'] = mapping12.get(int(PT1), PT1)
ValueError: invalid literal for int() with base 10: '1920-01-01 00:00:00'
がどのように日付が1920年1月1日プットに等しい場合、私はできると言っていますヌルという言葉?
こんにちは、私は、しかし、私はまだのエラーを取得し、上記を追加しました/Users/rich/.PyCharmCE2017.2/config/scratches/csv.py "、257行目 my_dict ['DATE'] = mapping2.get(int(PT1)、PT1) ValueError:基数10のint()のリテラルが無効です: '1920-01-01 00:00:00 ' –
あなたはこれを行う方法を知っていますか? –
PT1を 'int'として型変換しないでください。動作するはずです。日付の文字列を整数に型キャストすることはできません。データ型を調べ、正しく使用していることを確認する必要があります。 –