目前有写两个这样的程序,很奇怪的是明明是一模一样的语句,但有的运行时错误,有的运行时正确的,
编辑一下,找到第一个错误原因了,应该是
'01'<......<'05'
因为文本内数据格式为两位数,不满十位填满.....改动之后就好了,但是下面的25-30.30-35依然是错误的。
如果是格式问题的话第二个数据要到小数点后很多位,且都不相同,请问有直接比较数大小的方法吗?
import pandas
from pandas import DataFrame
f=open('F:\\FCD\\11-12总时间.txt')
file=f.readlines()
a=0
n=0
c=0
d=0
e=0
f=0
g=0
h=0
i=0
L=[]
for line in file:
L.append(line.split(':'))
time=DataFrame(L)
timemin=time[1]
for i in range(len(timemin)):
if '1'<timemin[i]<'5':
a=a+1
if '5'<timemin[i]<'10':
n=n+1
if '10'<timemin[i]<'15':
c=c+1
if '15'<timemin[i]<'20':
d=d+1
if '20'<timemin[i]<'25':
e=e+1
if '25'<timemin[i]<'30':
f=f+1
if '30'<timemin[i]<'35':
g=g+1
print(a)
print(n)
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
print(i)
运行出来的结果为
print(a)
print(n)
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
print(i)
6648
0
2237
1188
611
349
190
0
18389
明显两个0还最后的18389都是错误的...但写法没变啊?
还有另一个同理,检测两个文本内同一行数据(数据格式皆相同),写法如下:
from pandas import DataFrame
import pandas as pd
a=0
.......
L=[]
M=[]
afile=open('F:\FCD\one\odd.txt')
bfile=open('F:\FCD\one\even.txt')
for line in afile:
L.append(line.split(','))
data=pd.DataFrame(L)
na=data[4]
nac=data[5]
for bline in bfile:
M.append(bline.split(','))
datab=pd.DataFrame(M)
nb=datab[4]
nbc=datab[5]
for i in range(len(data)):
if '113.85'<na[i]<'114.1' and '22.4'<nac[i]<'22.6' and '113.85'<nb[i]<'114.1' and '22.4'<nbc[i]<'22.6':
a=a+1
..........
print(a)
........
与上述一样,有的结果正确有的结果错误...不知道为什么,还望指点