2017-08-28 94 views
0

我需要一些幫助讀我的文本文件數據如何從文本文件中獲取所需的列數據?

我的文本文件的數據是這樣的:

Name start_date end_date  dept_id 
Rahul 1/28/2017 08/30/2017  1234 
Ganesh 1/1/2016  08/28/2017  5678 

我需要閱讀該文本文件,並做了手術(開始 - END_DATE)。我不知道如何直接在 python中獲取所需的列數據。我是新來的python,任何人都可以幫助我如何處理與 一般python代碼和熊貓代碼爲我的輸出。謝謝你們。

+0

是下面的答案有幫助?如果是這樣,請接受答案 –

回答

3

所以採取從文本文件的起始日期按照下面的代碼:

crs = open("C:\\Users\\xyz\\Documents\\sf.txt", "r") 
    next(crs) 
    for columns in (raw.strip().split() for raw in crs): 
     print(columns[1]) 
     print(columns[2]) 

這將讓你的起始日期日期和結束日期

+0

在你的第一行輸入csv是你不應該忘記做的事 –

+0

我試圖打印行[1]和行[2]。它向我顯示列表索引超出範圍的錯誤 – Rahul

+0

你能請至少發郵件至少5行,您的文本文件請 –

0

這可以通過基本的Python代碼的使用來實現:

from datetime import datetime 

with open("Data.txt") as f: 

    for line in f: 

     if("Name" not in line): # Skip Header 

      data = line.strip().split() 

      start_date = datetime.strptime(data[1], '%m/%d/%Y') 
      end_date = datetime.strptime(data[2], '%m/%d/%Y') 

      print(end_date-start_date) 

這產生的結果:

214 days, 0:00:00 
605 days, 0:00:00 

希望它有幫助!

+1

感謝它的完美工作 – Rahul

+0

我試圖標記它是正確的,但它顯示我爲感謝您的反饋!對於名聲低於15的人所投的投票進行記錄,但不要更改公開顯示的帖子得分 – Rahul

1

所以你也想用大熊貓,所以你的情況,你可以通過下面的代碼中使用熊貓的文件中讀取數據:

import pandas as pd 
    data = pd.read_csv('C:\\Users\\xyz\\Documents\\sf.txt', sep="\t", header=0) 
    print(data) 
+0

感謝您的代碼。我試圖接受和但它顯示我感謝您的反饋!記錄的聲望低於15的演員的投票被記錄,但不會更改公開顯示的帖子分數 – Rahul

+0

是的,這是正確的,可能需要10分鐘後我接受它,所以你可以嘗試10分鐘後點擊綠色符號接受 –