1、先把CSV文件准备好(图1),再让我们看一下数据,月日和结束月日两列都是右对齐的,然后Unicode列经过查表得知是16进制的数据,对应的是汉字(图2),要转换一下
2、开始编写程序
代码如下:(若没有缩进或者缩进不对就看截图:图3,同时还有运行结果见图4)
import numpy as np;
import pandas as pd;
df=pd.read_csv('const.csv');
df.set_index('星座',drop=True,inplace=True);
df.loc[:,'开始月日']=df.loc[:,'开始月日'].apply( lambda x: '%2d月%2d日'%(x//100,x%100));
df.loc[:,'结束月日']=df.loc[:,'结束月日'].apply( lambda x: '%2d月%2d日'%(x//100,x%100));
df.loc[:,'Unicode']=df.loc[:,'Unicode'].apply( lambda x: eval('"\\u%d"'%x));
df
while 1:
a=input();
if a=='Q':
break;
try:
print(
('星座:{},出生日期范围:{开始月日}-{结束月日},字符:{Unicode}'
.format(a,**df.loc[a,:]))
);
except err:
print('输入星座名称有误!');