如何从python2上的txt文件中拆分多行(commacontaining)字符串

2024-09-27 02:23:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Pyhton很陌生所以我需要你的帮助

我有这样一段文字:

19 , 22.3 ,22.24 , 79 , 40.764767 ,29.932207  
1 , 24.38 ,24.50 , 586 , 40.762291 ,29.919300  
11 , 23.13 ,23.24 , 105 , 40.763786 ,29.929407  
12 , 22.38 ,23.56 , 71 , 40.765610 ,29.941540  
5 , 23.2 ,24.15 , 173 , 40.763805 ,29.929356  

我试着分开:

array = file.read().split(",")

但结果是这样的

['19 ', ' 22.3 ', '22.24 ', ' 79 ', ' 40.764767 ', '29.932207  \n1 ',
 ' 24.38 ', '24.50 ', ' 586 ', ' 40.762291 ', '29.919300  \n11 ', ' 23.13 ',
'23.24 ', ' 105 ', ' 40.763786 ', '29.929407  \n12 ', ' 22.38 ', '23.56 ', 
' 71 ', ' 40.765610 ', '29.941540  \n5 ', ' 23.2 ', '24.15 ', ' 173 ',
 ' 40.763805 ', '29.929356 \n']

但是我想不使用'\n',因为在分割操作之后,我必须将字符串返回int。那我怎么做呢?你知道吗


Tags: 字符串readpyhtonarrayfileintsplit文字
3条回答

这是否有效:

array = [file.read().replace('\n','').split(',')]
import re
x="""19 , 22.3 ,22.24 , 79 , 40.764767 ,29.932207
1 , 24.38 ,24.50 , 586 , 40.762291 ,29.919300
11 , 23.13 ,23.24 , 105 , 40.763786 ,29.929407
12 , 22.38 ,23.56 , 71 , 40.765610 ,29.941540
5 , 23.2 ,24.15 , 173 , 40.763805 ,29.929356  """
print re.split(r" *, *|\n", x)

您可以使用re一次性完成。你知道吗

输出:['19', '22.3', '22.24', '79', '40.764767', '29.932207', '1', '24.38', '24.50', '586', '40.762291', '29.919300', '11', '23.13', '23.24', '105', '40.763786', '29.929407', '12', '22.38', '23.56', '71', '40.765610', '29.941540', '5', '23.2', '24.15', '173', '40.763805', '29.929356 ']

这应该起作用:

array = [line.split(',') for line in file.read().splitlines()

相关问题 更多 >

    热门问题