Мне нужно загрузить данные CSV в MySQL. Для этого я использовал сервис AWS Lambda. Я читаю файл CSV из корзины S3 в функции Lambda, которая использует Python2.7. Я хочу проверить заголовок CSV со значениями, которые я вставил в переменные среды в консоли Lambda. Однако при печати данных я получаю '\ r' в конце значения последнего столбца каждой строки.
Я могу читать данные из CSV, и значения также вставляются в БД MySQL.
def validateCSV(event,context):
EXPECTED_HEADERS=os.environ['RM_EXPECTED_HEADERS']
s3 = boto3.client("s3")
file_obj = event["Records"][0]
bucketname = str(file_obj['s3']['bucket']['name'])
filename = str(file_obj['s3']['object']['key'])
fileObj = s3.get_object(Bucket=bucketname, Key=filename)
rows = fileObj["Body"].read().split('\n')
print(rows)//(['Name,Age,PinCode\r', 'Apple,15,411001\r',''])
fList=[]
for line in rows:
fList.append(line.split(','))
print("fList Headers matched: ",fList[0]==EXPECTED_HEADERS)//this is giving me FALSE
Я добавил значение в переменную окружения --key = RM_EXPECTED_HEADERS и значение в виде ['Name', 'Age', 'PinCode']. Но когда я печатаю fList [0], я получаю (['Name', 'Age', 'PinCode \ r']).
Как мне удалить '/ r' из списка fList [0]?