gpt4 book ai didi

Python 3,读取文本文件并分隔每一行并填写相应的变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:32 25 4
gpt4 key购买 nike

首先我使用这个:

with open(filename) as fp:
for i, line in enumerate(fp):
print(i)
print(line)
if i == index:
break
else:
continue

这使我能够输出每一行,直到 ( i ) 达到索引变量的数量,但这不是我想要的,我想读取一个看起来有点像这样的文件:

John|Graham|JOB|AGE
Philip|Jefferson|JOB|AGE

我希望能够将这些数据解析成相应的变量,但是!我希望能够指定从哪一行读取,这样我就可以读取第 1 行,从那里解析数据,然后是第 2 行,但不是在循环中!这是重要的部分。

我希望能够将变量 ( index ) 设置为 2

然后第 2 行会将第一段“Philip”解析为变量 NAME。

等等。

我希望你能理解!,我一直很沮丧,一直没能想出解决办法。

最佳答案

这是应该起作用的东西:

首先我们需要将所有行读入列表。

>>> with open('in.txt', 'r') as f:
>>> lines = f.read().splitlines()

现在我们可以很好地索引:

>>> print(lines[0])
John|Graham|JOB|AGE

好的,现在我们要把每一行拆分成我们需要的数据。

>>> first = lines[0]
>>> info = first.split('|')
['John', 'Graham', 'JOB', 'AGE']

然后将所有内容放入变量中:

>>> NAME, LASTNAME, JOB, AGE = info
>>> print(NAME)
John
>>> print(LASTNAME)
Graham

综合起来:

with open('in.txt', 'r') as f:
lines = f.read().splitlines()

def get_info(lines, line_num):
line = lines[line_num]
return line.split('|')

NAME, LASTNAME, JOB, AGE = get_info(lines, 0)
print(NAME) # Prints "John"

如果您不想一次读入整个文件,您可以在脚本中使用相同的技术:

with open(filename) as fp:
for i, line in enumerate(fp):
print(i)
print(line)
if i == index:
NAME, LASTNAME, JOB, AGE = line.split('|')
break

关于Python 3,读取文本文件并分隔每一行并填写相应的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com