我试图在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')
答案 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)