很多时候处理数据会碰到CSV文件,如果是一般的少量文件问题不大,一旦碰到大型的CSV文件,就会出现打不开文件的结果。因为文本无法打开超大型文件,Excel也最多能够容量一百万条数据量,因此只能将CSV文件切割成为多个小的CSV文件。
将csv分割为多个excel文件的方法:
① 将csv文件读取进来
② 将需要的数据存储,不需要的数据过滤掉
③ 将处理过的文件存储到excel表格中
1、读取csv文件
(1)获取当前目录下的csv文件名称
#创建一个空列表,存储当前目录下的CSV文件全称
file_name = []
#获取当前目录下的CSV文件名
def name():
a = os.listdir()
for j in a:
if os.path.splitext(j)[1] == '.csv':
file_name.append(j)
(2)读取csv文件,并存储到列表中
#将CSV文件内容导入到csv_storage列表中
def csv_new(storage,name):
csv_storage = []
sum = 0
#显示保存的第几个文件
file_sum = 0
#打开读取csv文件
with codecs.open(storage, 'r', encoding='utf-8') as fp:
fp_key = csv.reader(fp)
for csv_key in fp_key:
csv_reader = csv.DictReader(fp, fieldnames=csv_key)
for row in csv_reader:
sum += 1
#切割为50000个数据一份
if sum < 50000:
csv_dict = dict(row)
csv_storage.append(csv_dict)
else:
sum = 0
file_sum += 1
extract(