簡體   English   中英

將loadtxt列轉換為工作日:TypeError:strptime()參數1必須為str,而不是字節

[英]Converting a loadtxt column to a weekday: TypeError: strptime() argument 1 must be str, not bytes

我正在嘗試從CSV文件加載數據,並將帶有日期的一列轉換為星期數。 我在下面提到TypeError

import numpy as np

from datetime import datetime

def datestr2num(s):
    return datetime.strptime(s, "%d-%m-%Y").date().weekday()

dates, close = np.loadtxt(
    'data.csv', delimiter=',', usecols=(1,6), 
    converters={1: datestr2num}, unpack=True)

print("Dates =", dates)

錯誤:

TypeError: strptime() argument 1 must be str, not bytes

我試圖在Python 3.5.2 -Anaconda自定義(64位)上執行此程序

給轉換器提供從文件中讀取的原始bytes值; 如果要將它們解析為日期時間值,則需要先將它們解碼為字符串。 ASCII應該足夠了,因為您的輸入只是一系列數字和破折號即可形成一個日期:

def datestr2num(s):
    s = s.decode('ascii')
    return datetime.strptime(s, "%d-%m-%Y").weekday()

注意:我刪除了.date()調用; datetime對象直接支持datetime.weekday()方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM