Мне нужна помощь с чтением данных моего текстового файла

Данные моего текстового файла похожи на:

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 - end_date). Я не знаю, как взять необходимые данные столбцы непосредственно в Python. Я новичок в Python, Может ли кто-нибудь помочь мне, как поступить с общим кодом Python и кодом Pandas для моего вывода. Спасибо вам всем.

0
Rahul 28 Авг 2017 в 18:16

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

3
Chetan_Vasudevan 28 Авг 2017 в 15:46

Это может быть сделано с использованием основного кода 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

Надеюсь, это поможет!

0
XOIOX 28 Авг 2017 в 15:38

Итак, вы также хотели использовать панд, так что в вашем случае вы можете прочитать данные вашего файла с помощью панд, следуя приведенному ниже коду:

    import pandas as pd
    data = pd.read_csv('C:\\Users\\xyz\\Documents\\sf.txt', sep="\t", header=0)
    print(data)
1
Chetan_Vasudevan 28 Авг 2017 в 16:02