import pandas as pd
import numpy as np

# 定义一个取数的函数,因为数据量大,分批次取
def read_Data(filePath,size=5000): #两个参数(路径,数据一次提取的行数)size=5000可以根据自己的实际情况调整
     
    df = pd.read_csv(filePath,header=0,iterator=True) # 读取数据(路径,从0行开始,使用迭代器iterator,根据取数的大小,一次一次来取 
    
    chunks=[]  #保存数据块列表,存储每一次获取到的数据
        
    loop=True  #循环起始值
    
    while loop:
        try:
            chunk=df.get_chunk(size)[['字段1','字段2','字段3']]# 【数据源.get_chunk(n)】获取数据源的n行数据
            chunks.append(chunk)
            
        except StopIteration: # 当出现StopIteration时,迭代器没有数据可取了
            loop = False # loop = False,循环停止
    data=pd.concat(chunks,ignore_index=True)
    
    return data # 注意return的位置,不要出去了

# 建立一个空的列表,依次通过定义的函数read_Data添加数据,取出来的数都是series的一维列表;最后用concat,各个列表连接起来变成一个数组的形式
data = []
data.append(read_Data(filePath='文件1路径'))
data.append(read_Data(filePath='文件2路径'))
data.append(read_Data(filePath='文件3路径'))
data.append(read_Data(filePath='文件4路径'))
data=pd.concat(data,ignore_index=True)   
data