How to split CSV File into multiple Files with specific records
Sometime you should have lots of record in one file , you might need it to split in multiple files so that you can import in software easily.
Here , we have implement small script using python to do this.
Python Script
import pandas as pd import os import shutil #give the csv file to read input_csv = 'input.csv' #checking number of lines in csv number_lines = sum(1 for row in (open(input_csv))) #number of record, should in each csv rowsize = 1000 #creating split folder to store new csv and deleting old csv before storing. try: # Remove folder (if exists) with all files if os.path.isdir(str("split")): shutil.rmtree("split", ignore_errors=True) # Create new folder os.mkdir("split") except IOError: print("Error upon either deleting or creating the directory or files.") else: print("Actions if file access was succesfull") #start looping through data writing it to a new file for each set for i in range(1,number_lines,rowsize): df = pd.read_csv(in_csv, header=None, nrows = rowsize, #number of rows to read at each loop skiprows = i) #skip rows that have been read #csv to write data to a new file with indexed name. input_1.csv etc. out_csv = str('split/input' + str(i) + '.csv') if os.path.exists(out_csv): os.remove(out_csv) df.to_csv(out_csv, index=False, header=False) #size of data to append for each loop print("your files are in [split] directory")
How to use
We have save above file with name “split-csv.py”. You should have “input.csv” file in same folder where script has been stored.
so we will use it like below.
python split-csv.py