Попробуйте заполнить недостающую информацию в текстовом файле, и если вы не смогли ее заполнить, поместите ее в новый файл, используя python

#python

#python

Вопрос:

мой код разделяет только завершенные и неполные как исправить этот код, чтобы он мог найти недостающие данные, если это возможно это пример полных и отсутствующих данных:

Завершить:

 "Ahmad Omar;802424333;10/4/2000;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350 c."
  

Недостающие данные:

 "Ahmad Omar;802424333;;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350*"
  

это мой код

 def splitCompleteAndIncomplete():
  f = open("temp.txt","r")
  count=0
  for line in f.xreadlines(  ): 
    count  = 1
  incompleteFile = open("CarRentalMissing.txt","w")
  completeFile = open("CarRentalCompleted.txt","w")
  for row in f.readlines():
    l = row.split(";")
    incompleteFlag=0
    for i in l:
      if len(i) == 0:
        incompleteFlag=1
    if(incompleteFlag == 1):
      incompleteFile.write(row)
    else:
      completeFile.write(row)
  f.close()
splitCompleteAndIncomplete()
  

Ответ №1:

Вы можете проверить наличие 2 флагов, 1. если встречается «;;», что означает, что значение было пропущено, 2. если число «;» правильное.

 s_correct = r"Ahmad Omar;802424333;10/4/2000;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350 c."
s_missing = r"Ahmad Omar;802424333;;0550123456;A10B20;Audi;2018;15 April 2020;17 April 2020;350"

s_test = s_missing 

print("s_test has missing data: ", (s_missing.find(";;") != -1) | (s_missing.count(";") != 9))
# True