импортировать метку времени из .txt файла - PullRequest
0 голосов
/ 12 октября 2018

В настоящее время я пытаюсь импортировать файл .txt с помощью функции genfromtxt numpy.Как правило, это прекрасно работает.Тем не менее, на этот раз я импортирую текстовый файл "нагрев-время-время", где время записывается в формате 00:00:00.Таким образом, на отметке 10 секунд столбец времени будет иметь вид 00:00:10.На отметке в один час столбец времени будет иметь вид 01:00:00 и т. Д.К сожалению, функция genfromtxt numpy читает это как «nan».Любой совет, как это исправить?

Это мой код:

import numpy as np

Heat_up_time = np.genfromtxt('Lucifer Heat Treating Oven Heat Up Time(1).txt')
time = Heat_up_time[:,][:,1]
temp_f = Heat_up_time[:,][:,2]

print(time)
print(temp_f)

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Я разобрался с ответом.Возможно, есть более простой способ, но я обнаружил, что нужно войти в текстовый файл и удалить все двоеточия.Это делает одну минуту похожей на «100», а в час - на «10000».

Я использовал следующий код, чтобы «зафиксировать» метки времени в нашем 60-минутном и 60-минутном мире часов.Возможно, есть более простой способ, и более опытные программисты, возможно, будут смеяться над грубостью и громоздкостью моего кода, но это сработало.

def fix_time(array):
    result = []
    j = 10
    k = 20
    l = 1
    y = 1
    p = 0
    for i in array:
        n = i
        if i < 100:
            result.append(i)
        elif n/j < k and i < 10000:
            i = i-l*40 - p * 40
            result.append(i)
        elif n/j < k and i >= 10000:
            i = i - y * 40 - p * 40
            result.append(i)
        else:
            k = k + 10
            l = l + 1
            if l == 60:
                y = 160
                k = 1010
            if n/j <= k and k < 1010:
                i = i - l * 40 - p * 40
                result.append(i)
            elif n/j <= k and k >= 1010 and k < 1020:
                i = i - y * 40 - p * 40
                result.append(i)
            elif n/j <= k and k >= 1020:
                p = p + 1
                i = i - y * 40 - p * 40
                result.append(i)
            elif p > 1:
                k = k + 400
                y = y + 160
                p = 0
                if n/j <= k:
                    i = i - y * 40 - p * 40
                    result.append(i)
            else:
                while n/j >= k:
                    k = k + 10
                    p = p + 1
                if n/j < k:
                    p = p + 1
                    i = i - y * 40 - p * 40
                    result.append(i)
    return result
0 голосов
/ 12 октября 2018

Вы пытались использовать Pandas для импорта файла?Pandas обычно довольно хорошо, когда ваши данные хорошо структурированы.

import pandas as pd

df = pd.read_csv('Lucifer Heat Treating Oven Heat Up Time(1).txt')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...