小编Dan*_*nea的帖子

pyparsing解析使用分号而不是逗号的csv文件

在欧洲大陆,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.

谢谢,丹

python csv comma pyparsing

2
推荐指数
1
解决办法
6930
查看次数

标签 统计

comma ×1

csv ×1

pyparsing ×1

python ×1