![](/img/trans.png)
[英]`TypeError: strptime() argument 0 must be str, not <class 'bytes'>`
[英]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.