我有一个我想要运行的代码,它会将csv文件中的值与我在py文件中设置的阈值进行比较。
我的csv文件的输出类似于以下,但有1030行
<table class="table table-bordered table-condensed">
<tr>
<td class="col-md-6">one</td>
<td class="col-md-4">two</td>
<td class="col-md-2">three</td>
</tr>
<tr>
<td class="col-md-6">one</td>
<td class="col-md-4">twoooooooo00</td>
<td class="col-md-2">three</td>
</tr>
</table>
<table class="table table-bordered table-condensed">
<tr>
<td class="col-md-6">one</td>
<td class="col-md-4">two</td>
<td class="col-md-2">three</td>
</tr>
<tr>
<td class="col-md-6">one</td>
<td class="col-md-4">two</td>
<td class="col-md-2">three</td>
</tr>
</table>
注意:值之间没有行,但前面只有一个空格。
我的第一次尝试是使用此代码:
-46.62
-47.42
-47.36
-47.27
-47.36
-47.24
-47.24
-47.03
-47.12
给出了输出:
file_in5 = open('710_edited_capture.csv', 'r')
line5=file_in5.readlines()
a=line5[102]
b=line5[307]
c=line5[512]
d=line5[717]
e=line5[922]
print[a]
print[b]
print[c]
print[d]
print[e]
我的第一个想法是使用[' -44.94\n']
[' -45.06\n']
[' -45.09\n']
[' -45.63\n']
[' -45.92\n']
删除空格和.strip()
,但列表中不支持此功能并返回错误:
\n
我的下一个代码如下:
Traceback (most recent call last):
File "/root/test.py", line 101, in <module>
line5=line5.strip()
AttributeError: 'list' object has no attribute 'strip'
返回另一个错误:
for line5 in file_in5:
line5=line5.strip()
line5=file_in5.readlines()
a=line5[102]
b=line5[307]
c=line5[512]
d=line5[717]
e=line5[922]
print[a]
print[b]
print[c]
print[d]
print[e]
在没有任何空格或Traceback (most recent call last):
File "/root/test.py", line 91, in <module>
line5=file_in5.readlines()
ValueError: Mixing iteration and read methods would lose data
的情况下,只读取5条特定行的最有效方法是什么,然后能够在后续计算中使用它们,例如:
\n
答案 0 :(得分:1)
您可以使用strip(),但需要使用read()而不是readlines()。换句话说,如果一行中有多个值且以逗号分隔,则可以使用以下代码:
with open('710_edited_capture.csv', 'r') as file:
file_content=file.readlines()
for line in file_content:
vals = line.strip().split(',')
print(vals)
您还可以将“ vals”附加到空白列表中。结果,您将获得一个包含每行值列表的列表。
答案 1 :(得分:0)
有点不清楚你想要做什么,但是如果你只是想读取一个文件,将每个值与一个阈值进行比较,并保持上面的值为例:
threshold=46.2
outlist=[]
with open('data.csv', 'r') as data:
for i in data:
if float(i)>threshold:
outlist.append(i)
然后你可以根据自己的需要调整它......
答案 2 :(得分:0)
感谢所有的评论和建议,但它们并不是我所需要的。
然而,我已经应用了一种解决方法,尽管它很笨拙。我已经从原始文件中创建了5个附加文件,每个文件只有一个值。从这里我可以剥离空间和/ n并将它们作为变量保存在本地。我不再需要阅读线
这些变量可以相互比较,并与阈值进行比较,以确定最佳选择。