![Pandas数据分析快速上手500招(微课视频版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/35/47216035/b_47216035.jpg)
上QQ阅读APP看书,第一时间看更新
048 读取文本文件的数据并解析日期列数据
此案例主要通过在read_csv()函数中设置parse_dates参数值和date_parser参数值,实现读取以空格分隔数据的文本文件,并据此在创建DataFrame时将字符串表示的日期数据转换成datetime64[ns]类型。当在Jupyter Notebook中运行此案例代码之后,将自动读取文本文件(myspace.txt),并据此在创建DataFrame时自动把上市日期列的字符串日期数据转换成datetime64[ns]日期类型,如将“公元2021年2月26日”转换成“2021-02-26”,效果分别如图048-1和图048-2所示。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P59_4009.jpg?sign=1738840219-NAE0U3RXGWTKBranfWa459mNdvVnlRE4-0-62a978ebd185a8af589e0f9c830a5535)
图048-1
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P59_4010.jpg?sign=1738840219-Xok7W1hBS8EmCAstqrff2bcuE68n5tHU-0-7c9e8fd869088ef0ffa573a8750af8a7)
图048-2
主要代码如下。
![](https://epubservercos.yuewen.com/DC5573/26580753209033106/epubprivate/OEBPS/Images/Figure-P59_4012.jpg?sign=1738840219-vljjc8CaSZQYzKI5XAfpO8sNKBpqQX7B-0-5488455eb26f183b281c3b30a487bda7)
在上面这段代码中,pd.read_csv('myspace.txt',delim_whitespace=True, parse_dates=['上市日期'],date_parser=lambda x:datetime.strptime(x,"公元%Y年%m月%d日"))表示读取以空格分隔数据的文本文件(myspace.txt),并据此在创建DataFrame时根据lambda表达式的解析结果转换上市日期列的数据类型为datetime64[ns];如果仅设置了参数parse_dates=['上市日期'],未设置参数date_parser,则不能将上市日期列的数据转换为datetime64[ns]。
此案例的主要源文件是MyCode\H199\H199.ipynb。