Python 仅将textfile信息的第一部分追加到数组中
我试图在python上将一个大的数据文件读入一个数组,然后在上面进行一些计算。我将文本文件的每一行分开,然后使用.append()函数将每一行读入一个数组 但是我不想要整条线。这是文本文件每行包含的内容Python 仅将textfile信息的第一部分追加到数组中,python,arrays,text,Python,Arrays,Text,我试图在python上将一个大的数据文件读入一个数组,然后在上面进行一些计算。我将文本文件的每一行分开,然后使用.append()函数将每一行读入一个数组 但是我不想要整条线。这是文本文件每行包含的内容 1000661813$10006618$1$PS$LIPITOR$ATORVASTATIN CALCIUM$1$$UNK$$$U$$$$020702$$$FILM-COATED TABLET$ 我只想要第一位“1000661813”。$将信息的不同部分分开。每行的第一个数字的长度可能不同。有没
1000661813$10006618$1$PS$LIPITOR$ATORVASTATIN CALCIUM$1$$UNK$$$U$$$$020702$$$FILM-COATED TABLET$
我只想要第一位“1000661813”。$将信息的不同部分分开。每行的第一个数字的长度可能不同。有没有办法把每一行读入一个数组,使它只成为第一个数字
不知道从哪里开始
fileDrug19Q2 = open('DRUG19Q2.txt')
arrayDrug19Q2 = list()
for line in fileDrug19Q2:
arrayDrug19Q2.append(line)
在添加到列表之前,可以尝试使用拆分函数,如下所示:
for line in fileDrug:
arrayDrug19Q2.append(line.split("$")[0])
您的意思是您要获取的数字始终是行中的第一个,并由第一个
$
分隔?最简单的选项是text.split(“$”)[0]
。否则,请查看正则表达式:我不知道性能上的差异,但是line.partition(“$”)[0]
是另一种选择。它可能会更快,因为它会在第一次出现字符串后停止。尽管如此,使用line.split(“$”,1)
也是一个选项。