簡體   English   中英

strptime()參數0必須是str,而不是<class 'bytes'>

[英]strptime() argument 0 must be str, not <class 'bytes'>

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

date,open,close=np.loadtxt('000001.csv',delimiter=',',
                            converters={0:mdates.strpdate2num('%m/%d/%Y')},
                            skiprows=1, usecols=(0,1,4), unpack=True)

plt,plot(date,open)

但是strptime()參數0必須是str,而不是

我已經在網站上閱讀了所有關於答案的信息,但是這些對我沒有幫助。

您需要解碼loadtxt從文件讀取的字節。

編寫一個輔助函數:

def convert_date(date_bytes):
    return mdates.strpdate2num('%m/%d/%Y')(date_bytes.decode('ascii'))

並將其用作轉換器:

date, open, close = np.loadtxt('000001.csv',delimiter=',',
                               converters={0: convert_date},
                               skiprows=1, usecols=(0,1,4), unpack=True)

如果.decode('ascii')不起作用,請嘗試其他編碼。 最好是找出文件的編碼是什么。

暫無
暫無

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

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