【问题标题】:Python (scipy) import time from text filePython(scipy)从文本文件导入时间
【发布时间】:2016-06-10 20:49:18
【问题描述】:

我有文本文件:

2010-05-16
2010-09-26
2011-04-28

每一行都是一个字符串:YYYY-MM-dd

我的目标是读取此文本文件并将此信息写入数组。

import scipy as sp
x=sp.empty(200,ftype=sp.datetime64)     
file=open(place,'r')
for p in file:
    x[i]=p

但它不起作用。我看到“错误”。我该如何解决这个任务?我知道我可以使用 Panda,但我需要将其写入 scipy 数组。

【问题讨论】:

  • 请告诉我们错误的含义以及导致错误的行。
  • ValueError:无法使用通用 untis 创建除 NaT 之外的 NumPy 日期时间。这个错误是行 x[i]=p

标签: python arrays numpy text scipy


【解决方案1】:

试试这个:

import numpy as np


x = np.empty(200, dtype='datetime64[D]')

with open(place, 'r') as f:
    for i, date in enumerate(f):
        x[i] = date.strip()

首先,它是dtype,而不是ftype。然后,我们需要使用datetime64[D],因为这只是一个日期,而不是日期和时间。然后,date 在末尾有一个换行符,这会导致解析错误(strip() 修复了这个问题)。您可能还想使用np.zeros() 而不是np.empty()

您也可以通过 SciPy 访问这些方法,但它们在技术上是 NumPy 的一部分,所以只需使用 import numpy as np

【讨论】:

  • 完美,没问题,乐于助人! :) 如果这解决了您的问题,请单击问题旁边投票箭头旁边的复选框以将问题标记为已回答。
猜你喜欢
  • 2021-09-13
  • 1970-01-01
  • 2015-09-29
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多