如何从文本文件中获取所需的列数据?

时间:2017-08-28 15:16:38

标签: python python-2.7 python-3.x pandas

我需要一些帮助来阅读我的文本文件数据

我的文本文件数据如下:

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

我需要阅读此文本文件并执行操作(start_date - 结束日期)。我不知道如何直接获取所需的列数据 蟒蛇。我是python的新手,任何人都可以帮我解决这个问题 我输出的一般python代码和Pandas代码。谢谢大家。

3 个答案:

答案 0 :(得分:3)

所以从文本文件中取出start_date,请遵循以下代码:

    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])

这将为您提供start_date和end_date

答案 1 :(得分:1)

所以你也想使用pandas,所以在你的情况下你可以通过以下代码使用pandas读取你的文件数据:

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

答案 2 :(得分: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

希望它有所帮助!