当我运行代码时,似乎有一个错误,该代码可帮助我拆分但保持逗号,但如果两个链接在一起,则应保留引号。似乎三个引号链接在一起
输入
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,因此任何人都可以在不使用正则表达式之类的情况下提供帮助
谢谢!
我真的很希望有人发布示例代码,谢谢!!