簡體   English   中英

如何在多個文件之間插入缺失的行並進行數學運算?

[英]How do I insert missing rows and conduct math between multiple files?

我有兩個文件,每個文件包含兩列。 第一列是整數。 第二列是線性坐標。 並非每個坐標都被表示,我想插入所有缺失的坐標。 以下是我的數據的一個文件中的示例:

  3 0
  1 10
  1 100
  2 1000
  1 1000002
  1 1000005
  1 1000006

對於此示例,缺少坐標1-9,11-99等但需要插入,並且需要計數為零(0)。

  3 0
  0 1
  0 2
  0 3
  0 4
  0 5
  0 6
  0 7
  0 8
  0 9
  1 10
  ........

使用完整的行集,我需要在每個計數(第一列)中添加add(1)。 最后,我想對兩個文件中第一列的相應行進行簡單的計算(比率)。 比率應該是實數。

如果可能的話,我希望能夠用Unix做到這一點,但我也熟悉python腳本。 任何幫助是極大的贊賞。

這應該適用於Python 2.3以上版本。

我假設你的文件是以空格分隔的。

如果您希望值超過1000006,則需要更改desired_range的值。

import csv

desired_range = 1000007
reader = csv.reader(open('fill_range_data.txt'), delimiter=' ')

data_map = dict()
for row in reader:
    frequency = int(row[0])
    value = int(row[1])

    data_map[value] = frequency

for i in range(desired_range):
    if i in data_map:
        print data_map[i], i
    else:
        print 0, i

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM