如何从.txt文件中只读取一些字符,并使用python将它们存储在数组中?

如何从.txt文件中只读取一些字符,并使用python将它们存储在数组中?,python,arrays,string,character,Python,Arrays,String,Character,可能重复: 我有一个.txt文件,其中的行如下所示 水16:-30.4674 1:-30.4759 17:-30.5373 7:-30.6892 8:-31.128 13:-31.393 2:-31.4036 9:-32.0214 5:-32.4387 12:-32.6972 14:-32.8345 4:-33.1583:-34.1308 15:-34.9566 11:-38.799 10:-51.4716:-211.086 水13:-33.3397 9:-33.5112:-33.6573 1

可能重复:

我有一个.txt文件,其中的行如下所示

水16:-30.4674 1:-30.4759 17:-30.5373 7:-30.6892 8:-31.128 13:-31.393 2:-31.4036 9:-32.0214 5:-32.4387 12:-32.6972 14:-32.8345 4:-33.1583:-34.1308 15:-34.9566 11:-38.799 10:-51.4716:-211.086

水13:-33.3397 9:-33.5112:-33.6573 17:-33.7629 5:-33.9539 3:-34.1326 7:-34.3554 15:-34.7484 8:-35.0615 2:-35.4279 11:-37.0607 16:-37.2666 1:-38.4928 14:-41.2152 4:-43.3593 10:-80.4689 6:-208.802

打呵欠13:-36.4616 9:-37.1025 15:-37.2519 17:-38.8885 8:-39.1585 14:-39.8553 2:-40.2131 12:-41.2615 1:-41.6317 7:-41.8205 3:-41.9883 11:-43.8492 16:-46.8158 5:-49.8107 4:-52.5595 10:-70.4841 6:-220.906

我需要做的是将“
”之前的数字存储在一个数组中

什么是迭代方法或最简单的方法

f=open('path','r')
lines=f.readlines()
for line in lines:
   ...

从现在起,我不知道拆分和存储过程。。。请提供帮助。

使用拆分方法并将其附加到数组中:

myArray=line.split(':-')

如果格式始终相同,则可以对每行执行以下操作:

items = line.split()[1:]
items = [item.split(':')[0] for item in items]
如果你想让它们成为整数:

items = map(int, items)
至于存储它们,请在遍历每一行之前创建一个列表
rows=[]
,然后您可以添加如下项目:

rows.append(items)
f = open('path','r')
lines = f.readlines()
rows = []

for line in lines:
    items = line.split()[1:]
    items = [item.split(':')[0] for item in items]
    items = map(int, items)
    rows.append(items)

f.close()
print rows
所有这些看起来都是这样的:

rows.append(items)
f = open('path','r')
lines = f.readlines()
rows = []

for line in lines:
    items = line.split()[1:]
    items = [item.split(':')[0] for item in items]
    items = map(int, items)
    rows.append(items)

f.close()
print rows

这是正则表达式的作业:

import re

with open(myFilePath, "r") as f:
    text = f.read()
    numbers = re.findall(r"(-?\d+):\S+", text)
以上假设冒号前的所有数字都是整数。

myArray=line.split(“:-”)
将整行分割为数字元素,其中没有一个符合OP的要求,例如
['Water 16'、'30.4674 1'、'30.4759 17'、'30.5373 7'…]
-1-?