gpt4 book ai didi

python - 将文本文件解析为python中的列表

转载 作者:太空狗 更新时间:2023-10-30 02:04:42 27 4
gpt4 key购买 nike

我是 Python 的新手,我正在尝试读取包含单词和数字组合的 txt 文件。我可以很好地读取 txt 文件,但我正在努力将字符串转换为我可以使用的格式。

import matplotlib.pyplot as plt
import numpy as np
from numpy import loadtxt

f= open("/Users/Jennifer/Desktop/test.txt", "r")

lines=f.readlines()

Data = []

list=lines[3]
i=4
while i<12:
list=list.append(line[i])
i=i+1

print list

f.close()

我想要一个包含第3-12行(从0开始)所有元素的列表,也就是全是数字。当我打印行 [1] 时,我从该行获取数据。当我打印行或打印行 [3:12] 时,我得到每个字符前面都有\x00。例如,单词“Plate”变为:['\x00P\x00l\x00a\x00t\x00e。使用 lines = [line.strip() for line in f] 得到相同的结果。当我尝试在上面的 while 循环中将各行放在一起时,出现错误“AttributeError:'str' object has no attribute 'append'。”

如何从 txt 文件中选择行到列表中?非常感谢!!!

编辑:txt 文件如下所示:

block = 1板:磷酸盐噪音测定 2000x 1.3 PlateFormat 端点吸光度原始 FALSE 1 1 650 1 12 96 1 8
温度(¡C) 1 2 3 4 5 6 7 8 9 10 11 12
21.4 0.4977 0.5074 0.5183 0.5128 0.5021 0.5114 0.4993 0.5308 0.4837 0.5286 0.5231 0.5227
0.488 0.4742 0.5011 0.4868 0.4976 0.4845 0.4848 0.5179 0.4772 0.5363 0.5109 0.5197
0.4882 0.4913 0.4941 0.5188 0.4766 0.4914 0.495 0.5172 0.4826 0.5039 0.504 0.5451
0.4771 0.4875 0.523 0.4851 0.4757 0.4767 0.4918 0.5212 0.4742 0.5153 0.5027 0.5235
0.4474 0.4841 0.5193 0.4755 0.4649 0.4883 0.5165 0.5223 0.4799 0.5269 0.5091 0.5191
0.4721 0.4794 0.501 0.4467 0.4785 0.4792 0.4894 0.511 0.4778 0.5223 0.4888 0.5273
0.4122 0.4454 0.314 0.2747 0.4621 0.4416 0.3716 0.2534 0.4497 0.5778 0.2319 0.1038
0.4479 0.5368 0.3046 0.3115 0.4745 0.5116 0.3689 0.3915 0.4803 0.5209 0.1981 0.1062

~结束原文件名:2013-08-06 磷酸盐噪声;上次保存日期:8/6/2013 7:00:55 PM

更新我使用了这段代码:

f= open("/Users/Jennifer/Desktop/test.txt", "r")
file_list = f.readlines()

first_twelve = file_list[3:11]

data = [x.replace('\t',' ') for x in first_twelve]
data = [x.replace('\x00','') for x in data]
data = [x.replace(' \r\n','') for x in data]

print data

得到这个结果:[' 21.4 0.4977 0.5074 0.5183 0.5128 0.5021 0.5114 0.4993 0.5308 0.4837 0.5286 0.5231 0.5227 ', ' 0.488 0.4742 0.5011 0.4868 0.4976 0.4845 0.4848 0.5179 0.4772 0.5363 0.5109 0.5197 ', ' 0.4882 0.4913 0.4941 0.5188 0.4766 0.4914 0.495 0.5172 0.4826 0.5039 0.504 0.5451 ', ' 0.4771 0.4875 0.523 0.4851 0.4757 0.4767 0.4918 0.5212 0.4742 0.5153 0.5027 0.5235 ', ' 0.4474 0.4841 0.5193 0.4755 0.4649 0.4883 0.5165 0.5223 0.4799 0.5269 0.5091 0.5191 ', ' 0.4721 0.4794 0.501 0.4467 0.4785 0.4792 0.4894 0.511 0.4778 0.5223 0.4888 0.5273 ', ' 0.4122 0.4454 0.314 0.2747 0.4621 0.4416 0.3716 0.2534 0.4497 0.5778 0.2319 0.1038 ', ' 0.4479 0.5368 0.3046 0.3115 0.4745 0.5116 0.3689 0.3915 0.4803 0.5209 0.1981 0.1062 ']

这是(如果我错了请纠正我,对 Python 很陌生!)一个列表列表,我应该可以使用它。非常感谢所有回复的人!!!

最佳答案

当您编写代码 lines = f.readlines() 时,行列表将返回给您。然后当您输入 lines[3] 时,您将获得第 3 行。这就是为什么您最终会得到单独的字符。

你需要做的就是说

files = open("Your File.txt")

file_list = files.readlines()

first_twelve = file_list[0:12] #returns a list with the first 12 lines

一旦你得到了 first_twelve 数组,你就可以用它做任何你想做的事情。

打印每一行你会做:

for each_line in first_twelve:
print each_line

这应该适合你。

关于python - 将文本文件解析为python中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18304835/

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