приведенный ниже пример сценария может читать файл из fileDir и добавлять файлы в список (fileList). Я могу выполнить функцию и вставить данные в базу данных. Проблема теперь работает только для одного файла json ... если в fileDir есть больше файлов, сценарий будет выполнять только один файл ... Если вы заметили, я использую то же имя переменной dataFile до конца процесса вставки данных .
Я хотел бы иметь возможность открывать и читать больше файлов один за другим. Пожалуйста, покажите и помогите мне правильный способ решить эту проблему. Спасибо
logFile
1.json
2.json
print (listFile) output
[{'1': 'one'}, {'2': 'two'}]
##Open and read file
fileDir = 'logFile/*.json'
listFile = []
for file1 in glob.iglob(fileDir):
with open(file1,'r') as f:
dataFile = json.load(f)
listFile.append(dataFile)
#print(listFile)
##function to read dataFile and insert data file to db
def db(db_name, table_name):
with open(file1,'r') as f:
dataFile = json.load(f)
##Process raw dataFiles and extract data
for entry in dataFile:
some processing to extract and append data
##Insert clean dataFile onto db
sql = "INSERT INTO ....."
cursor.executemany( sql, dataFile ....)
db.commit()
db.close()
Думаю, все ли файлы в список [ ]. Можно ли открывать и читать файлы по одному из списка?
fileDir = 'logFile'
file_list = os.listdir(fileDir)
for jf in file_list:
#print(jf)
print (jf) output
['1.json', '2.json']
попробуйте открыть и прочитать каждый json файл в списке
with open(jf, 'r') as f:
data = json.load(f)
print(data)
есть ошибка
FileNotFoundError: [Errno 2] No such file or directory: '1.json'
Любая помощь оценена. Спасибо