繁体   English   中英

Python:从文本文件读取混合数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM