簡體   English   中英

使用python向列添加數字

[英]Adding a number to a column with python

我是python的新手,我將非常感謝以下的一些指導。 我有一個超過500萬行和8列的文本文件,我試圖只為第4列中的每個值添加“15”。

例如:

  10  21  34  12  50  111  234  21  7
  21  10  23  56  80   90  221  78 90

將改為:

  10  21  34  12  **65**  111  234  21  7
  21  10  23  56  **95**   90  221  78 90

我下面的腳本允許我隔離列,但當我嘗試向其添加任何數量時,我返回“TypeError:不支持的操作數類型為+:'NoneType'和'int'”

file = open("file.txt")
column = []

for line in file:
    column.append(int(line.split("\t")[3]))

print column

任何建議都會很棒。

試試這個讓你入門 - 有許多更好的方法使用庫,但這會向你展示一些更好的文件處理基本方法。 適用於您發布的數據 - 只要文件中的分隔符是雙倍空格(“”)並且所有內容都可以強制轉換為int。 如果不.....

另外 - 請注意啟動腳本的正確方法是:

if __name__ == "__main__":

這是因為如果要創建庫,通常不需要執行任何代碼...

__author__ = 'charlie'

in_filename = "in_file.txt"
out_filename = "out_file.txt"
delimiter = "  "

def main():

    with open(in_filename, "r") as infile:
        with open(out_filename, "w") as outfile:
            for line in infile:

                ldata = line.split(delimiter)

                ldata[4] = str(int(ldata[4]) + 15)

                outfile.write(delimiter.join(ldata))


if __name__ == "__main__":
    main()

與熊貓:

import pandas as pd

df = pd.read_clipboard(header=None)
df[4] += 15

暫無
暫無

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

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