·
教程大全 ·
186192
目录
pandas可以进行数据输入和输出,有以下几种类型:读取文本文件及硬盘上其他更高效的格式文件,从数据库中载入数据,于网络资源进行交互(比如web api)。
下面进行不同文本文件的读取和写入操作讲解,首先进行文本格式数据的读写讲解。
一:文本格式数据的读写
将表格型数据读取为dataframe对象是pandas的重要特性。下面介绍一下一些方法。
pd.read_csv():将csv文件数据读入一个dataframe。
pd.read_table():将csv文件数据读入一个dataframe,可以用sep指定分隔符,一般为",",可以针对不同的分隔符号用正则表达式分隔。
有时候文件并不包含表头行,就需要选择一些选项,用header=none可以自动分配默认列名,或者可以自己用names指定列名。
如果想要指定某一列作为索引,可以直接指定,或者将该列的列名传给参数index_col。 在index_col里面可以用列表作为参数,形成一个分层索引。
使用skiprows可以跳过某些行,且使用isnull可以检测数组中的缺失值。
使用na_values选项可以传入一个列表或一组字符串来处理缺失值。或者用字典指定列的缺失值标识。
必须分块读取,推荐8192或65536字节块大小,以rb模式打开文件,循环调用update(),最后用hexdigest()获取32位小写十六进制字符串;校验时需strip().lower()统一格式并做长度校验。 用hashlib.md5()读取文件并计算校验和 直接调用hashlib.md5()...
不能直接用ThreadPoolExecutor更新Tkinter控件,因为Tkinter的Tcl解释器只允许主线程操作UI;子线程(包括线程池中的工作线程)调用widget方法会引发TclError或卡死;必须通过queue.Queue+root.after()将结果安全传回主线程更新。 为什么不能...
结论:用pandas.read_parquet()最省事,但必须指定engine="pyarrow";fastparquet功能弱、不支持嵌套类型和并行读取;读大文件需列裁剪、filters下推、use_threads=True或改用ParquetDataset分块读取。 直接说结论:用pandas...
pd.read_html()是解析网页表格的最简路径,但对嵌套table、JS渲染、colspan/rowspan过多等结构敏感;遇JS渲染需用Playwright等待DOM加载后再解析;应显式指定header、skiprows并清理列名,同时设置超时、缓存HTML、捕获具体异常以保障稳定性。 用p...
直接用jieba.analyse.extract_tags处理大规模文本会卡住或内存爆掉,因其默认一次性加载全部文档构建全局IDF,导致idf_dict膨胀、无法复用模型,且未分词前正则分割易触发回溯爆炸。 为什么直接用jieba.analyse.extract_tags处理大规模文本会卡住或内存爆...
__init_subclass__不能直接接收位置参数,但可通过**kwargs间接获取类定义时传入的关键字参数(如classChild(Parent,flag=True):),需手动校验并赋值给类属性,是声明期注入元信息的最简方式。 __init_subclass__能不能接收自定义参数 不能直接...
必须用rb/wb模式读写二进制文件,否则会触发文本编码/解码导致错误;rb返回bytes,wb要求写入bytes,不可混用文本方法如readline(),应使用read()或read(n)。 用open()读写二进制文件,必须显式指定rb和wb模式 Python默认以文本模式打开文件,哪怕你传入的是...
本文讲解如何在动态网页(如GoogleTravel)中绕过不稳定的data-gs属性,改用基于稳定CSS类名的XPath表达式,结合Selenium与lxml成功提取航班价格文本值。 本文讲解如何在动态网页(如googletravel)中绕过不稳定的`data-gs`属性,改用基于稳定css类名的x...