Когда я запускаю свой код, кажется, что он содержит ошибку, код помогает мне разбить, но держать запятую, но он должен содержать кавычки, если два связаны вместе. Похоже, три кавычки связаны между собой
input
Result = parseCSV('""')
print(Result)
ожидаемый вывод
['"']
фактический вывод
['']
код:
def parseCSV(string):
results = []
current = ''
is_quoted_right_now = False
in_quotes = False
for i in range(0, len(string)):
currentletter = string[i]
if currentletter == '"':
if is_quoted_right_now == True:
if in_quotes == True:
current = current + currentletter
in_quotes = False
else:
in_quotes = True
else:
is_quoted_right_now = True
in_quotes = False
else:
shouldCheck = False
if is_quoted_right_now == True:
if in_quotes == True:
is_quoted_right_now = False
in_quotes = False
shouldCheck = True
else:
current = current + currentletter
else:
shouldCheck = True
if shouldCheck == True:
if currentletter == ',':
results.append(current)
current = ''
else:
current = current + currentletter
results.append(current)
return results
вот несколько тестов и результатов:
Result = parseCSV('","')
print(Result)
#result = [',']
Result = parseCSV('"""')
print(Result)
#result = ["]
Result = parseCSV('hi,i,am,splitting')
print(Result)
#result = ['hi','i','am','splitting']
Result = parseCSV('"hi,I,am,not,splitting"')
print(Result)
#result = ['hi,I,am,not,splitting']
Result = parseCSV('abc, """')
print(Result)
#result = ['abc', '"']
Result = parseCSV('abc, ""')
print(Result)
#result = ['abc','']
#wanted result = ['abc','"']
Как видите, есть только одна проблема, мой папа говорит, что я должен использовать чистый python без модулей, поэтому могу кто-нибудь помочь без использования таких вещей, как регулярное выражение
Спасибо !!
Я бы очень хотел, чтобы кто-то опубликовал пример кода, спасибо !!