UnicodeEncodeError:'latin-1'编解码器无法在位置0-9处编码字符:序数不在范围内(256)

时间:2019-11-21 14:16:13

标签: python plotly

我试图在Python中使用plotly从时间序列中制作交互式图形,但出现此错误:UnicodeEncodeError:'latin-1'编解码器无法在位置0-9处编码字符:序数不在范围内( 256)

这是我的代码:

from pathlib import Path
import plotly
import chart_studio

chart_studio.tools.set_credentials_file(username='****',                                              
                                  api_key='*****')

import chart_studio.plotly as py
import plotly.graph_objs as go

from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)

def parser2(x):
    try:
        return datetime.strptime( x, '%Y-%m-%d %H:%M:%S')#
    except:
        return 0

filename = r'AT_2018_10last.csv'
datafolder = Path('C:\HiWi Rodriguez\AT 2018\Last Value')
pathfile = datafolder / filename
ts = read_csv(pathfile, header=0,  parse_dates=[0], index_col=0 ,  date_parser=parser2)#, dtype = dtypes)
ts.columns = ['A']
ts.plot()

AT = go.Scatter(x=ts.index, y=ts.A)

layout = go.Layout(title='Ambient Temperature', xaxis=dict(title='Date'),
                   yaxis=dict(title='[°C]'))

fig = go.Figure(data=AT, layout=layout)
py.iplot(fig, sharing='public')

1 个答案:

答案 0 :(得分:0)

因此,看来chart_studio仅允许将extended ASCII table中的字符用作用户名和密码。

根据您的错误消息,您的密码中似乎有错误的字符。 您可以使用以下代码来检查密码:

YOUR_PASSWORD = "your_p♥$$w0rd!_here"

for character in YOUR_PASSWORD:
    code_point = ord(character)

    if code_point < 256:
        print(f"    ok: {character} ({code_point})")
    else:
        print(f"not ok: {character} ({code_point})")

在示例输出中可以看到,字符的代码点为9829,因此可能会出现问题,因为它不在255的范围内:

  

ok:y(121)
  ok:o(111)
  ok:u(117)
  好的:r(114)
  ok:_(95)
  ok:p(112)
  不正常:♥(9829)
  ok:$(36)
  ok:$(36)
  ok:w(119)
  ok:0(48)
  好的:r(114)
  ok:d(100)
  好: ! (33)
  ok:_(95)
  ok:h(104)
  ok:e(101)
  好的:r(114)
  好的:e(101)