Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何读取文件中的特定4位数字,然后移到另一行并执行相同的操作,依此类推_Python_Line_Readline_Readlines - Fatal编程技术网

Python 我如何读取文件中的特定4位数字,然后移到另一行并执行相同的操作,依此类推

Python 我如何读取文件中的特定4位数字,然后移到另一行并执行相同的操作,依此类推,python,line,readline,readlines,Python,Line,Readline,Readlines,所以我有个问题需要解决。我有一个类似以下内容的文件: 11-08-2012;1485;10184;7,53;31;706;227;29;6.1102 12-08-2012;2531;10272;7,59;25;695;222;26;22;1234 13-08-2012;1800;13418;8,66;46;714;203;50;6.0757 14-08-2012;2009;11237;9,43;81;655;246;49;7.1783年 我应该能够阅读“1485”,然后是“2531”部分,然后是

所以我有个问题需要解决。我有一个类似以下内容的文件:

11-08-2012;1485;10184;7,53;31;706;227;29;6.1102

12-08-2012;2531;10272;7,59;25;695;222;26;22;1234

13-08-2012;1800;13418;8,66;46;714;203;50;6.0757

14-08-2012;2009;11237;9,43;81;655;246;49;7.1783年

我应该能够阅读“1485”,然后是“2531”部分,然后是“1800”部分,一直读到文件的末尾,最后总结它们。我该怎么做?我在这篇文章下面写下了我是如何用while来解决这个问题的。但我似乎对这件事迷茫了。有人能帮忙吗

尽管如此:

    f.seek(12)
    text=f.read(4)

    text=f.readline()
    if(text==""):
        break
    return text

有很多方法可以做到这一点,包括
numpy
pandas
、简单的
协同程序
等等。我添加了一个最接近您的方法

total = 0
with open('exmplefile.txt','r') as f:
    for line in f:
        elements = line.split(';')
        num_of_interest = int(elements[1])
        # you can add a print if you want
        total += num_of_interest
print(total)
试试这个

mylist = []
for string in file:
    mynum = string.split(';')[1]
    mylist.append(mynum)
sum([int(i) for i in mylist])

此解决方案适用于4位数字不是数组中第二项的情况

打开(“路径/到/文件”)作为f:
f1=f.读线()
总和=0
对于f1中的行:
linearray=line.split(“;”)
对于LineArray中的数字:
如果len(digit.strip())==4,digit.strip().isnumeric():
总和+=int(数字)

此解决方案是通过获取公共项的第一个和第二个索引,在本例中为

with open(filename,'r') as file:
    file_list = file.readlines()

sum = 0

for line in file_list:
    loc = line.find(';')
    first_loc = loc + 1
    last_loc = loc +line[loc+1:].find(';')+1

    sum = sum + int(line[first_loc:last_loc])

print(sum)

Cosman,with语法是一个上下文管理器,用于确保在打开文件以处理其内容后关闭该文件。对于代码中的with line语句,可以替换为
f=open('path/to/file')
并取消块的缩进。但是,使用此样式时,必须在代码末尾调用
f.close()