在python

时间:2019-04-19 01:03:08

标签: python

如何分隔这一行,我只需要数字

PD-1358 393;

我想增加变量X和Y

 X   Y
PD-1358 393;

我正在使用CSV命令(csv_file, delimiter='-') 但是我不能分开这些数字。 有人可以帮我吗?

import csv

with open('circulo.txt') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter='-')

    line_count = 0
    for row in csv_reader:

         print(f'\t {row[0]}')

目前,我只能将这部分分开

3 个答案:

答案 0 :(得分:2)

使用regex,您可以轻松做到:

import re

re.findall(r'\d+', "PD-1358 393") 

结果:

['1358', '393']

答案 1 :(得分:0)

不知道执行此操作的简单方法,但是假设您已将数据转换为如下所示的字符串:

s = 'PD-1358 393'

然后创建一个生成器以转到数字的第一个实例:

i = next((index for (index,value) in enumerate(s) if value.isdigit()))

然后拆分:

s[i:].split()

返回:

['1358', '393']

答案 2 :(得分:0)

如果要在最终数组中添加数字:

line = 'PD-1358 393;'

parts = line.split(' ')

numbers = [int(''.join(i for i in part if i.isdigit())) for part in parts]