CSVファイルをJson化し、Google BigQueryにストリーミングでデータを入れる際に、一部Nullデータが原因でうまくデータが入らないので、こちらを排除したいです。
Null部分の排除の方法を教えて頂けないでしょうか?
下のコードでは今扱っているデータ(列数30)より少ない列数10ほどの物でストリーミングでデータを挿入を確認できています。
また、Jsonに対する知識不足で大変申し訳ないのですが、他のデータはキーと値が対になっているようなのですが、なぜ最後にNull:というデータ群ができてしまっているのでしょうか??
エラー文
挿入先にNullというフィールドはないよと出ております。
def stream_data(): # BigQuery client = bigquery.Client() project_id = 'test_project' dataset_name = 'test' table_name = "test" full_table_name = dataset_name + '.' + table_name json_rows = [] with open('./test.csv','r') as f: for line in csv.DictReader(f,skipinitialspace=False,quoting=csv.QUOTE_NONE): line_json = dict(line) json_rows.append(line_json) errors = client.insert_rows_json( full_table_name,json_rows,row_ids=[row['luid'] for row in json_rows] ) //特定カラムの重複データ排除 if errors == []: print("New rows have been added.") else: print("Encountered errors while inserting rows: {}".format(errors)) print("end") schedule.every(0.5).seconds.do(stream_data) while True: schedule.run_pending() time.sleep(0.1)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/13 07:20