请问python如何快速读取大量文件?
例如读取数千个Excel文件,每个文件有2000-5000行,20列。
我使用了OS, Pandas循环读取,一个上午没有读取出来。
你可以用多线程模块multiprocessing,我之前问答写过一个多线程的例子的
范例14-35:安装Pandas库并测试是否安装成功
范例14-36:读取并显示CSV文件中的前3条数据
范例14-37:更加规整的读取并显示CSV文件中的前3条数据
范例14-38:读取并显示CSV文件中的某列数据
范例14-39:用统计图表展示CSV中的某列数据
范例14-40:选择指定数据
范例14-41:显示CSV文件中某列和某行数据
范例14-42:在图表中统计显示CSV文件中的前10名信息
范例14-43:统计文件bikes.csv中每个月的骑行数据
范例14-44:输出显示某街道前5天的骑行数据
范例14-45:得到每一行的月份
范例14-46:获取某一天是星期几
范例14-47:统计周一到周日每天的统计数据
范例14-48:使用matplotlib图表统计周一到周日每天的骑行数据
范例14-49:使用matplotlib统计加拿大2012年的全年天气数据
范例14-50:输出CSV文件中的全部天气信息
最快的方式是
1、将Excel转换成csv,参考:https://blog.csdn.net/weixin_42636075/article/details/130819843
2、读取:参考:https://blog.csdn.net/weixin_42636075/article/details/130637965
使用多线程或多进程:Python 的 multiprocessing 模块和 concurrent.futures 模块可以帮助你使用多个线程或进程并行读取文件,从而加快速度。这样可以同时处理多个文件,而不是一个一个顺序读取。
批量读取文件:将需要读取的文件组织成批量,一次性读取多个文件。例如,使用 os.listdir() 获取文件列表,然后按照一定的批量大小(如100个文件)进行读取。
优化代码逻辑:检查你的代码,确保没有不必要的循环和重复操作。对于每个文件,尽量避免重复执行相同的操作,如重复打开文件或创建 DataFrame。可以考虑将重复的操作移至循环外部。
使用 Pandas 的 read_excel() 参数:Pandas 提供了一些参数可以优化 Excel 文件的读取过程,例如指定需要读取的特定行数、只读取特定的列等。可以根据你的需求设置这些参数,以减少读取时间。
使用更高效的库:如果你的目标是仅读取数据而不进行其他复杂操作,可以考虑使用更高效的库。例如,openpyxl 库比 Pandas 更快速地读取 Excel 文件。