如何读取以“,”(逗号)为分隔符的文件,以分隔用“,”(逗号)'分隔的十进制数字?

时间:2019-09-25 10:28:13

标签: python-3.x

我必须分析(用作Spider / python 3.7文件)(。au_reg)它们用作分隔符的文件(.au_reg),但是其中包含一些带有整数的列,而另一些包含用逗号(0,0,1, 0,987、0,789、1,567等)。

很明显,使用逗号作为分隔符读取文件会产生混乱,将逗号之间的每个数字分开。

我该怎么办? 我曾想用点(在十进制数之内)替换逗号,但是我不知道该怎么做?有读取此类杂乱文件的实用解决方案吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

如果模式是comma and a space在数字元素之间分开,那么您可以简单地做到:

numbers = '0, 0,1, 0,987, 0,789, 1,567'
list_numbers = numbers.split(', ')
print(list_numbers)

结果

['0', '0,1', '0,987', '0,789', '1,567']

或使用正则表达式,假设元素由带或不带逗号的数字组成

import re
numbers = '0, 0,1, 0,987, 0,789, 1,567'
numbers += ', '
list_numbers = re.findall('[0-9,]+(?=,\s)', numbers)
print(list_numbers)