fix:囲い文字の設定値が空文字または半角スペースの場合「None」に変換する修正
This commit is contained in:
parent
e0a1f7365b
commit
6c2524fbe0
@ -6,6 +6,7 @@ import sys
|
||||
from end import end
|
||||
from error import error
|
||||
from common import debug_log
|
||||
from common import convert_quotechar
|
||||
|
||||
# 定数
|
||||
DIRECTORY_WORK = '/work/'
|
||||
@ -82,12 +83,12 @@ def check(bucket_name, target_data_source, target_file_name, settings_key, log_i
|
||||
work_obj = s3_resource.Object(bucket_name, work_key)
|
||||
work_response = work_obj.get()
|
||||
work_data = io.TextIOWrapper(io.BytesIO(work_response["Body"].read()), encoding=settings_list[SETTINGS_ITEM["charCode"]], newline=LINE_FEED_CODE[settings_list[SETTINGS_ITEM["lineFeedCode"]]])
|
||||
work_header_list = []
|
||||
for line in csv.reader(work_data, quotechar=settings_list[SETTINGS_ITEM["quotechar"]], delimiter=settings_list[SETTINGS_ITEM["delimiter"]]):
|
||||
if int(settings_list[SETTINGS_ITEM["headerFlag"]]) == True:
|
||||
work_header_list = []
|
||||
for i, line in enumerate(csv.reader(work_data, quotechar=convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]), delimiter=settings_list[SETTINGS_ITEM["delimiter"]])):
|
||||
if int(settings_list[SETTINGS_ITEM["headerFlag"]]) == True and i == 0:
|
||||
work_header_list = line
|
||||
continue
|
||||
|
||||
work_header_list = line
|
||||
break
|
||||
|
||||
# ② C-0のデータ件数チェックを開始する
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
# 定数
|
||||
LOG_LEVEL = {"d": 'Debug'}
|
||||
MODE_TYPE = {
|
||||
@ -11,3 +12,18 @@ MODE_TYPE = {
|
||||
def debug_log(log, log_info, mode):
|
||||
if MODE_TYPE['d'] == mode:
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["d"]} {log}')
|
||||
|
||||
def convert_quotechar(quotechar):
|
||||
"""csvモジュールの囲い文字を変換する
|
||||
|
||||
Args:
|
||||
quotechar : 項目囲い文字の設定値
|
||||
|
||||
Returns:
|
||||
空文字、空白文字の場合→None
|
||||
それ以外→設定値をそのまま帰す
|
||||
"""
|
||||
if (quotechar.strip(' ') == ''):
|
||||
return None
|
||||
|
||||
return quotechar
|
||||
|
||||
@ -7,6 +7,7 @@ import io
|
||||
import csv
|
||||
from error import error
|
||||
from common import debug_log
|
||||
from common import convert_quotechar
|
||||
|
||||
# 定数
|
||||
DIRECTORY_WORK = '/work/'
|
||||
@ -117,7 +118,7 @@ def main(bucket_name, target_data_source, target_file_name, settings_key, db_inf
|
||||
settings_db_columu_list = settings_list[SETTINGS_ITEM["dbColumuName"]].rstrip().split(',')
|
||||
settings_replace_comma_list = settings_list[SETTINGS_ITEM["commaReplaceColumns"]].rstrip().split(',')
|
||||
|
||||
for line in csv.reader(work_data, quotechar=settings_list[SETTINGS_ITEM["quotechar"]], delimiter=settings_list[SETTINGS_ITEM["delimiter"]]):
|
||||
for line in csv.reader(work_data, quotechar=convert_quotechar(settings_list[SETTINGS_ITEM["quotechar"]]), delimiter=settings_list[SETTINGS_ITEM["delimiter"]]):
|
||||
try:
|
||||
if int(settings_list[SETTINGS_ITEM["headerFlag"]]) == True and index == 0:
|
||||
index += 1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user