[英]Python: read mixed data from text file
我有一个包含两列的简单文本文件。 示例行:'J0005-28'14719.0我想逐行读取第一个条目作为文本,第二个条目作为数字,所以我可以设置变量,例如name ='J0005-28'和value = 14719.0
有没有一种简单的方法可以在Python中完成而无需使用Regex或其他复杂的解析过程?
为此,您需要了解文件中各行的结构。 您要如何分隔字段,在文件中定界。 在您的示例中,如果您确定字段由空格分隔,则可以使用python的csv
模块并将分隔符设置为空格并解析行。
样例代码:
import csv
names = []
values = []
with open(input_file, 'r') as infile:
csv_reader = csv.reader(infile, delimiter=' ')
for line in csv_reader:
names.append(line[0])
values.append(line[1])
infile.close()
是的,首先读取整行,然后分别提取数据。 例如:
f=open('abc.txt','r')
while 1:
a=f.readline()
if a=='': break
a=a.split() #This creates a list of the input
name=a[0]
value=int(a[1]) # or value=float(a[1]) whatever you want
#use the name and value howsoever
f.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.