2024-06-26 14:41:18 发布
网友
考虑以下字符串:
'538.48,0.29,"533.59 - 540.00","AZO",102482,"+0.05%","N/A",0.00,535.09,"AutoZone, Inc. Co",538.77,"N/A"'
我需要将其拆分为一个列表,以便如下所示:
问题是我不能使用list.split(','),因为第10个字段中有一个逗号。问题是,当任意字段可能有逗号时,如何最好地将原始字符串拆分成一个列表?在
list.split(',')
使用^{} module而不是尝试自己拆分它,而是直接处理带引号的值,包括包含分隔符的引号:
>>> import csv >>> from pprint import pprint >>> data = '538.48,0.29,"533.59 - 540.00","AZO",102482,"+0.05%","N/A",0.00,535.09,"AutoZone, Inc. Co",538.77,"N/A"' >>> reader = csv.reader(data.splitlines()) >>> pprint(next(reader)) ['538.48', '0.29', '533.59 - 540.00', 'AZO', '102482', '+0.05%', 'N/A', '0.00', '535.09', 'AutoZone, Inc. Co', '538.77', 'N/A']
注意'AutoZone, Inc. Co'列的值。在
'AutoZone, Inc. Co'
如果要从文件中读取此数据,请将file对象直接传递给csv.reader()对象,而不是将字符串序列交给它。在
csv.reader()
您甚至可以通过设置^{}将数值(任何未引用的内容)解释为浮点值:
使用^{} module 而不是尝试自己拆分它,而是直接处理带引号的值,包括包含分隔符的引号:
注意
'AutoZone, Inc. Co'
列的值。在如果要从文件中读取此数据,请将file对象直接传递给
csv.reader()
对象,而不是将字符串序列交给它。在您甚至可以通过设置^{} 将数值(任何未引用的内容)解释为浮点值:
^{pr2}$相关问题 更多 >
编程相关推荐