我試圖解析簡單的字符串的csv模塊:CSV在python解析用引號值
s='param="(a, b)", param2, param3'
list(csv.reader([s], skipinitialspace=True))
它拆分到
[['param="(a', 'b)"', 'param2', 'param3']]
,但我想獲得
[['param="(a, b)"', 'param2', 'param3']]
似乎爲CSV模塊引用的文本可能只是整個服用者。
如何使我想要的東西正確?
注意:這不是Splitting with commas的重複,因爲在這種情況下,每個字段不是引用的,只是字段內的一部分。在該鏈接上發佈的答案(以及問題重複的鏈接)不適用於這種情況,正如上述代碼所證明的那樣(它重新創建與發佈的答案相同的結構,並且顯示它失敗)。
不確定在OP的問題沒有被該問題回答時它是如何重複的。試試上面的代碼,看看它不起作用。爲我工作的東西,像這樣混亂,就是引用每一個條目;但如果這不是csv的建立方式,那不會有太大的好處。 ''s ='「param = \'(a,b)\'」,「param2」,「param3」''給出了所需的結果('len(items [0])= 3', – dwanderson
我認爲你的標題是錯誤的,你沒有一個有效的帶引號的CSV文件,而是一個帶有引號的CSV文件,這就是爲什麼答案可以,爲你自己的格式創建你自己的解析器,而不是使用標準格式的標準解析器 –
所以...讓我們來談談有效的CVS ....想象一下用逗號分隔值的文件Python csv模塊doc表示字段可以是未知的,其中一個值在引用字符串中包含逗號。使用python的csv模塊解析它? – DVN