在欧洲大陆,csv文件通过分号分隔,因为数字有,而不是.所以,我正在尝试编写与commaSeparatedList相同的semicolonSeparatedList,但是; 代替 ,:
_semicolonsepitem = Combine(OneOrMore(Word(printables, excludeChars=';') +
Optional( Word(" \t") +
~Literal(";") + ~LineEnd() ) ) ).streamline().setName("semicolonItem")
semicolonSeparatedList = delimitedList( Optional( quotedString.copy() | _semicolonsepitem, default="") ).setName("semicolonSeparatedList")
Run Code Online (Sandbox Code Playgroud)
然而解析:
Name;Ref;Address
Run Code Online (Sandbox Code Playgroud)
结果是
['Name']
Run Code Online (Sandbox Code Playgroud)
代替
['Name', 'Ref', 'Address']
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
丹,谢谢你
找到答案:好像我找到了:
_semicolonsepitem = Combine(OneOrMore(Word(printables, excludeChars=';') +
Optional( Word(" \t") +
~Literal(";") + ~LineEnd() ) ) ).streamline().setName("semicolonItem")
semicolonSeparatedList = delimitedList( Optional( quotedString.copy() | _semicolonsepitem, default="") ).setName("semicolonSeparatedList")
Run Code Online (Sandbox Code Playgroud)
我添加了demim =';' 也是delimitedList.
谢谢,丹