在处理大型CSV数据集时,如果目标只是截取其中一部分数据,则需要对数据进行处理,处理的思想如下:
打开需要读取和写入的CSV文件,按行读取文件中的数据,在这里读取出来的一行数据被放在了一个列表中,列表中存储的都是字符串类型:
with open(fileread,'r')as file_to_read:
for row in reader:
print(row)
['1', '31', '95', '26.834']
['1', '31', '96', '27.852']
['1', '31', '97', '28.348']
因此多做一步,挨个遍历存储行数据的列表,挨个遍历,将数据字符串型数据强转为浮点型。然后将转成浮点型的数据再写入CSV文件。
with open(filewrite,'w+',newline='', encoding='GBK')as file_to_write:
reader=csv.reader(file_to_read)
data_list=[]
writer=csv.writer(file_to_write)
i=0
for row in reader:
print(row)
for j in row:
j=float(j)
data_list.append(j)
print(len(data_list))
if (data_list[2]>42)&(data_list[2]<=54):
writer.writerow(row)
print(data_list)
data_list=[]
i+=1
if i>=4464:
break
实现对数据集的提取。