(Photo by Tianyi Ma on Unsplash)
客户需要用Python解决这样一个问题,读入一个3.4G大小的CSV文件,除首行记录外,将剩余行数记录中的K列,按照业务规则进行内容替换,处理完后生成一个新的CSV文件出来。
沟通了一番需求后,了解到CSV文件编码格式是”ISO 8859-1”;文件记录数大概有400多万行(拿到文件后我没敢用Excel打开看,怕卡死);首行是Header Cloumn,记录每一行数据的Layout;除首行外每一行记录都使用Tab键区分。
下面是我的分析思路:
CSV文件很大,不可能一次性读入内容,只能分块来读;首行是Header Column,读出来后需要单独标记不做处理;剩下400多万行中有一些需要替换(替换可以简单理解为将第K列的值由”Tencent”修改为”Alibaba”),具体哪些行,事先是不知道的;那最好就读一行处理一行。