Я пытаюсь изменить сценарий так, чтобы он принимал аргументы, чтобы я мог запустить сценарий, и он циклически перебирает ряд csv-файлов и выдает результаты.
Однако я рано падаю при попыткепросто запустите работающий код с аргументом вместо жестко запрограммированного, используя sys.argv вместо schema.csv
. Я запускаю скрипт из директории с кодом, где находится schema.csv, но яПолучение этой ошибки.
FileNotFoundError: [Errno 2] Нет такого файла или каталога: "['schema.csv']"
Я дважды проверил рабочий каталог с помощью os.getcwd ()я думаю, что результат, выделенный в ошибке, имеет слишком много кавычек или скобок, но я не уверен в том, что я могу проверить.
import sys
def get_schema(table):
with open(str(sys.argv[1:])) as f:
i = 0
for line in f:
column = line.split(',')
datatype='STRING'
if (column[0] == table):
if 'char' in column[2]:
datatype = 'STRING'
elif 'int' in column[2]:
datatype = 'INTEGER'
elif 'boolean' in column[2]:
datatype = 'BOOLEAN'
elif 'timestamp' in column[2]:
datatype = 'TIMESTAMP'
elif 'numeric' in column[2]:
datatype = 'NUMERIC'
elif 'date' in column[2]:
datatype = 'DATE'
if (i == 0):
print('#%s' %(table))
print ('[')
i = i + 1
if (i == 1):
print ('{"name":"%s", "mode": "NULLABLE", "type": "%s"}' %(column[1],datatype))
if (i > 1):
print (',{"name":"%s", "mode": "NULLABLE", "type": "%s"}' %(column[1],datatype))
i = i + 1
print(',{"name":"ExtractAuditKey", "mode": "NULLABLE", "type": "INTEGER"}')
print (']')
get_schema(table=(sys.argv[1:]))
FileNotFoundError: [Errno 2] No such file or directory: "['schema.csv']"