我需要在分号上分割这样的字符串.但我不想拆分字符串('或')内的分号.我没有解析文件;只是一个没有换行符的简单字符串.
part 1;"this is ; part 2;";'this is ; part 3';part 4;this "is ; part" 5
结果应该是:
我想这可以用正则表达式完成,但如果没有; 我对另一种方法持开放态度.
我有一些输入,如下所示:
A,B,C,"D12121",E,F,G,H,"I9,I8",J,K
Run Code Online (Sandbox Code Playgroud)
逗号分隔值可以按任何顺序排列.我想把字符串分成逗号; 但是,如果某些东西在双引号内,我需要它来忽略逗号并去掉引号(如果可能的话).所以基本上,输出将是这个字符串列表:
['A', 'B', 'C', 'D12121', 'E', 'F', 'G', 'H', 'I9,I8', 'J', 'K']
Run Code Online (Sandbox Code Playgroud)
我已经看过其他一些答案,而且我认为正则表达式会是最好的,但是我很难想出来.
我使用.NET的String.Split方法使用逗号分解字符串,但我想忽略用双引号括起来的字符串.我读过那个
例如,下面的字符串.
Fruit,10,"Bananas, Oranges, Grapes"
Run Code Online (Sandbox Code Playgroud)
我想得到以下内容
Fruit
10
"Bananas, Oranges, Grapes"
Run Code Online (Sandbox Code Playgroud)
目前我得到以下输出
Fruit
10
"Bananas
Oranges
Grapes"
enter code here
Run Code Online (Sandbox Code Playgroud)
在提出以下建议和答案之后,这里是我最终得到的样本.(显然对我有用)
Imports Microsoft.VisualBasic.FileIO
Dim fileReader As New TextFieldParser(fileName)
fileReader.TextFieldType = FieldType.Delimited
fileReader.SetDelimiters(",")
fileReader.HasFieldsEnclosedInQuotes = True
While fileReader.EndOfData = False
Dim columnData() As String = fileReader.ReadFields
' Processing of field data
End While
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何读取带有"?"的CSV行?
我已经看到了一些相关的问题,但没有一个直接解决了我想要做的事情.我正在阅读CSV文件中的文本行.
所有项目都在引号中,有些在引号内有逗号.我想用逗号分隔该行,但忽略引号内的逗号.有没有办法在Python中执行此操作,不需要许多正则表达式语句.
一个例子是:
"114111","Planes,Trains,and Automobiles","50","BOOK"
Run Code Online (Sandbox Code Playgroud)
我想解析为4个独立的值变量:
"114111" "Planes,Trains,and Automobiles" "50" "Book"
Run Code Online (Sandbox Code Playgroud)
line.split()我错过了一个简单的选择吗?
我试图在python中拆分逗号分隔的字符串.对我来说,棘手的部分是数据中的一些字段本身有一个逗号,它们用引号("或')括起来.生成的拆分字符串也应该删除字段周围的引号.此外,某些字段可能为空.
例:
hey,hello,,"hello,world",'hey,world'
Run Code Online (Sandbox Code Playgroud)
需要分成5个部分,如下所示
['hey', 'hello', '', 'hello,world', 'hey,world']
Run Code Online (Sandbox Code Playgroud)
任何有关如何在Python中解决上述问题的想法/想法/建议/帮助将非常感激.
谢谢,Vish