总结多个文件中的列值

2023-11-30

我这里有一个小问题,我试图总结多个文件(50)中的条目,每个文件包含 3 列。 例如,使用前 3 个文件:file1.txt、file2.txt、file3.txt,如下所示:

文件1.txt:

2 3 4
1 5 6
5 4 7

文件2.txt:

1 2 1
2 3 2
4 3 1

文件3.txt:

6 1 1
1 3 0
3 4 5

所以我的问题是如何汇总 50 个文件中第一列、第二列和第三列的所有条目,最终得到一个如下所示的文件:

输出.txt:

9 6 6
4 11 8
12 11 13

我已经阅读了 50 个文件并附加了它们,但我在实际将这些条目一一求和时遇到了困难。

所以我做了这个:

for p in range(50):
    locals()['first_col%d' % p] = []
    locals()['second_col%d' % p] = []
    locals()['third_col%d' % i] = []

for i in range(1,50):
    f = open("file"+str(i)+".txt","r")
    for line in f:
        locals()['fist_col%d' % i].append(float(line.split()[0]))
        locals()['second_col%d' % i].append(float(line.split()[1]))
        locals()['third_col%d' % i].append(float(line.split()[2]))

f.close()

我试图想出一种方法将其放入一个循环中,该循环将读取所有first_cols(first_col1,first_col2,first_col3等),second_cols和third_cols并对条目进行求和。


#!/usr/bin/python
b_list = []
for l in range(1,4):
    file=open('/Users/sgeorge/file%i.txt' % l, 'r')
    m1=[(i.strip()) for i in file]
    for j in m1:
        b_list.append(filter(None,[(k.strip()) for k in j]))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,9,3):
    a[0][0] += int(b_list[i][0])
    a[0][1] += int(b_list[i][1])
    a[0][2] += int(b_list[i][2])
for i in range(1,9,3):
    a[1][0] += int(b_list[i][0])
    a[1][1] += int(b_list[i][1])
    a[1][2] += int(b_list[i][2])

for i in range(2,9,3):
    a[2][0] += int(b_list[i][0])
    a[2][1] += int(b_list[i][1])
    a[2][2] += int(b_list[i][2])

for j in a:
    print j[0],j[1],j[2]

Output:

$ python stack.py 
9 6 6
4 11 8
12 11 13

上面的脚本仅处理三个文件(file1.txt,file2.txt and file3.txt)

如果您想处理 50 个这样的文件,请使用以下命令:

#!/usr/bin/python
b_list = []
for l in range(1,51):
    file=open('/Users/sgeorge/file%i.txt' % l, 'r')
    m1=[(i.strip()) for i in file]
    for j in m1:
        b_list.append(filter(None,[(k.strip()) for k in j]))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,150,3):
    a[0][0] += int(b_list[i][0])
    a[0][1] += int(b_list[i][1])
    a[0][2] += int(b_list[i][2])
for i in range(1,150,3):
    a[1][0] += int(b_list[i][0])
    a[1][1] += int(b_list[i][1])
    a[1][2] += int(b_list[i][2])

for i in range(2,150,3):
    a[2][0] += int(b_list[i][0])
    a[2][1] += int(b_list[i][1])
    a[2][2] += int(b_list[i][2])

for j in a:
    print j[0],j[1],j[2]

Update:

>>> a=1
>>> b=1.1
>>> type(a)
<type 'int'>
>>> type(b)
<type 'float'>
>>> float(a)+float(b)
2.1
>>> 

我上面的脚本无法处理float荷兰国际集团的数字。要处理相同的情况,请使用以下命令:

#!/usr/bin/python
b_list = []
for l in range(1,4):
    file=open('/Users/sgeorge/file%i.txt' % l, 'r')
    m1=[(i.strip()) for i in file]
    for j in m1:
        b_list.append(j.replace('\n','').split(' '))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,9,3):
    a[0][0] += float(b_list[i][0])
    a[0][1] += float(b_list[i][1])
    a[0][2] += float(b_list[i][2])
for i in range(1,9,3):
    a[1][0] += float(b_list[i][0])
    a[1][1] += float(b_list[i][1])
    a[1][2] += float(b_list[i][2])
for i in range(2,9,3):
    a[2][0] += float(b_list[i][0])
    a[2][1] += float(b_list[i][1])
    a[2][2] += float(b_list[i][2])
for j in a:
    print j[0],j[1],j[2]

Output:

$ python stack.py 
9.0 6.0 6.0
4.0 11.0 8.0
12.0 11.0 13.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

总结多个文件中的列值 的相关文章

随机推荐

  • 无法找出注册表中的 ActiveRecord::SubclassNotFound#edit?

    当处于 编辑 或 显示 状态时 会出现以下情况 ActiveRecord SubclassNotFound 在注册表中 edit 单表继承机制无法定位子类 Plane 出现此错误是因为列 type 被保留用于在继承时存储类 如果您不希望这样
  • 为什么他们在 Mongoose Population 示例中使用 ObjectId 和 Number?

    In this例如 他们创建personSchema using ObjectId来参考Story我明白这一点 但随后在storySchema他们为什么不做同样的事情来引用这个人呢 或者反过来 为什么在 Person 中使用 ObjectI
  • 获取表的列名并将它们存储在字符串或var中c#asp.net

    我想知道如何获取数据库表的列并将它们存储在字符串或字符串数 组中 我有以下代码 但我相信它不起作用 我正在使用 asp net 中给出的默认表 我已经能够毫无问题地写入该表 但我不知道如何从中选择并保存检索到的值 这是我后面的代码中的内容
  • 传递类方法而不是 std::sort 中的函数

    在一个类中 我试图通过传递同一类的方法来对向量进行排序 但是编译的时候会报错 谁能告诉我问题是什么吗 谢谢你 它给出以下错误 类型参数bool Sorter D D does not match书 排序器 D D c 我也尝试过使用sort
  • tao SimpleOpenGlControl 错误

    我正在创建一个包含 Tao Platform Windows SimpleOpenGlControl 的用户控件 在我的控件的构造函数中 我有 InitializeComponent simpleOpenGlControl1 Initial
  • 将 javascript 变量发送到经典 asp

    我有一个基于 jQuery 的成本计算器 我希望网页能够通过电子邮件发送计算 器值的摘要 服务器在经典 ASP 上运行 如何使用 ASP 检索 javascript 变量 据我了解 ASP 代码在页面加载之前运行 而 javascript
  • Python Opencv 和 Sockets - 以 h264 编码的流视频

    所以我正在尝试制作一个流媒体 将视频从局域网上的一台计算机流式传输到另一台计算机 或目前同一台计算机 我需要它使用尽可能少的带宽 所以我尝试用 h264 进行编码 我在做这件事时遇到了困难 我真的不知道从哪里开始 现在它是用jpg编码的 并
  • 计算某个项目在多列中每一列中出现的次数

    我想读取一个表并创建另一个表来计算唯一 ID 在多个特定列中出现的次数 例如 我有一个表 其中每一行显示一个事务 并用一个 userId 标识每个人的角色 buyer lt c A A B A B C seller lt c C B C B
  • 不使用 #define 定义 BIT0、BIT1、BIT2 等

    在C 中是否可以在不使用 define的情况下以另一种方式定义BIT0 BIT1 BIT2 define BIT0 0x00000001 define BIT1 0x00000002 define BIT2 0x00000004 然后我采用
  • 使用 python 编辑 tfvars 文件

    我不知道我问的是否是正确的组 但是有没有办法使用 python 编辑 tfvars 例如 我有一个 tfvars 文件 其中一些变量具有以下值 owner operations port number 80 我想编辑port number
  • Apache Shiro JdbcRealm 与 JavaConfig 和 Spring Boot

    我正在尝试配置我的 Spring Boot 应用程序以使用 Apache Shiro 作为其安全框架 我已经完成了与 PropertiesRealm 一起使用的所有操作 现在我正在尝试使其与 JdbcRealm 和 Spring Boot
  • 是否可以在android上通过textview显示纯html代码

    我正在尝试在我的 Android 应用程序上使用 TextView 显示 HTML 字符串 我很好奇如何才能通过 TextView 显示内联样式的 HTML 由于某些原因 我们不能使用 WebView 来实现此目的 GitHub 上是否有您
  • 错误:无法确定 --prod 中类 OverlayPortal 的模块

    我不确定我只面临一个问题ionic cordova run android prod and my ionic cordova run android工作正常 ERROR Error Cannot determine the module
  • 将表达式计算为字符串,返回对象?

    基本上我有一些代码 当它发生时 我需要将某个对象设置为等于某个表达式 所有这些 做什么 爵士乐都存储为字符串 所以我解析它 并使用反射来查找我正在执行此操作的对象 现在我需要找出如何将值存储到该对象 问题是该值可能是 1 1 5 2 或 某
  • 如何使用 Puppeteer 计算页面完全加载时间?

    我试图使用 Node 中的 puppeteer 在几秒钟内获得页面完全加载时间 为此我对 API 和其他问题进行了一些研究 并创建了以下代码 First Configuration puppeteer launch defaultViewp
  • 从字符串 java 中检索值的最佳方法

    如果我传递一个包含逗号分隔的键值对的字符串 如下所示 seller 1000 country canada address 123 1st st etc 似乎一定有比解析然后迭代更好的方法 根据 Java 中的键名从该字符串中检索值的最佳方
  • 通过 XMLStarlet 取消与符号 (&) - Bugging &

    这是一个相当烦人但更简单的任务 根据这个guide 我写了这个 bin bash content wget https example com O ampersand echo xmllint html xpath id table tbo
  • 了解否定字符类

    正则表达式 f g 当应用于字符串时 don t theater but not d and not do f 也匹配三个撇号do f 为什么是 f 不排除吗 PS 我想找到连续的两个或多个撇号 后面不是f The 使正则表达式引擎回溯一次
  • Paramiko 在尝试 Vyatta 的非标准命令时出现“无效命令”

    我刚刚尝试使用 Paramiko 进行 SSH 连接我的 Python Django 应用程序与 Vyatta 服务器 不幸的是 当我尝试跑步时show interfaces它抛出 无效命令 但是 如果尝试从该服务器手动进行 SSH 则效果
  • 总结多个文件中的列值

    我这里有一个小问题 我试图总结多个文件 50 中的条目 每个文件包含 3 列 例如 使用前 3 个文件 file1 txt file2 txt file3 txt 如下所示 文件1 txt 2 3 4 1 5 6 5 4 7 文件2 txt