0

I have a pandas dataframe with only one column containing symbols. I need to separate those symbols in groups of 13 and 39 inside a single string.

symbol
3IINFOTECH
3MINDIA
3PLAND
20MICRONS
3RDROCK
5PAISA
63MOONS
7SEASL
ANNAINFRA
AFEL
ABCOTS.ST
ABINFRA
AKCAPIT
AAL
ASMTEC
AAPLUSTRAD
A2ZINFRA
AMJUMBO
AARSHYAM
AARVINFRA
ABBOTINDIA
AARCOM
ABCINDQ

I have extracted a python dataframe column to a list and then joined them to a string in the following way

nse_disjoined_list = nse_disjoined_df['symbol'].tolist()
nse_string = ','.join(nse_disjoined_list)

nse_string = '3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED,AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL,AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL,CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL,DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ,GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA,JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA,KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER,MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL,MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST,NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD,PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC,RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA,SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA,SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ,TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI,UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND'

I want to separate this string into separate strings of 13 and 39 words each. 13 word string example

'3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED'

'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,AHLADA'

Similarly I need 39 word string

Above is done manually

I have tried itertools batched

list(it.batched(symbols, 13)) 

and answer from here but they all split it considering each character producing this output

[('3', 'R', 'D', 'R', 'O', 'C', 'K', ',', 'A', 'A', 'R', 'O', 'N'),
 (',', 'A', 'A', 'R', 'V', 'I', ',', 'A', 'B', 'C', 'O', 'T', 'S'),
 ('.', 'S', 'T', ',', 'A', 'B', 'I', 'N', 'F', 'R', 'A', ',', 'A'),
 ('B', 'M', 'I', 'N', 'T', 'L', 'L', 'T', 'D', ',', 'A', 'C', 'C'),
 ('O', 'R', 'D', ',', 'A', 'C', 'C', 'U', 'R', 'A', 'C', 'Y', ','),
 ('A', 'C', 'E', 'I', 'N', 'T', 'E', 'G', ',', 'A', 'G', 'R', 'O'),
 ('P', 'H', 'O', 'S', ',', 'A', 'H', 'I', 'M', 'S', 'A', ',', 'A'),
 ('H', 'L', 'A', 'D', 'A', ',', 'A', 'I', 'L', 'I', 'M', 'I', 'T'),
 ('E', 'D', ',', 'A', 'I', 'R', 'O', 'L', 'A', 'M', ',', 'A', 'J'),
 ('O', 'O', 'N', 'I', ',', 'A', 'K', 'A', 'S', 'H', ',', 'A', 'K'),
 ('G', ',', 'A', 'M', 'B', 'A', 'N', 'I', 'O', 'R', 'G', ',', 'A'),
 ('M', 'J', 'U', 'M', 'B', 'O', ',', 'A', 'N', 'T', 'G', 'R', 'A'),
 ('P', 'H', 'I', 'C', ',', 'A', 'P', 'O', 'L', 'S', 'I', 'N', 'H'),
 ('O', 'T', ',', 'A', 'R', 'T', 'N', 'I', 'R', 'M', 'A', 'N', ','),
 ('A', 'R', 'V', 'E', 'E', ',', 'A', 'S', 'C', 'O', 'M', ',', 'A'),
 ('S', 'L', 'I', 'N', 'D', ',', 'A', 'T', 'A', 'L', 'R', 'E', 'A'),
 ('L', ',', 'A', 'U', 'R', 'D', 'I', 'S', ',', 'A', 'V', 'S', 'L'),
 (',', 'B', 'A', 'N', 'K', 'A', ',', 'B', 'A', 'N', 'K', 'N', 'I'),
 ('F', 'T', 'Y', ',', 'B', 'D', 'R', ',', 'B', 'E', 'T', 'A', ','),
 ('B', 'E', 'W', 'L', 'T', 'D', ',', 'B', 'M', 'E', 'T', 'R', 'I'),
 ('C', 'S', ',', 'B', 'O', 'H', 'R', 'A', ',', 'B', 'S', 'E', ','),
 ('B', 'S', 'H', 'S', 'L', ',', 'C', 'A', 'D', 'S', 'Y', 'S', ','),
 ('C', 'D', 'S', 'L', ',', 'C', 'N', 'X', '1', '0', '0', ',', 'C'),
 ('N', 'X', '2', '0', '0', ',', 'C', 'N', 'X', 'M', 'I', 'D', 'C'),
 ('A', 'P', ',', 'C', 'N', 'X', 'P', 'S', 'U', 'B', 'A', 'N', 'K'),
 (',', 'C', 'O', 'N', 'S', 'O', 'F', 'I', 'N', 'V', 'T', ',', 'C'),
 ('O', 'N', 'S', 'U', 'M', 'B', 'E', 'E', 'S', ',', 'C', 'O', 'O'),
 ('L', 'C', 'A', 'P', 'S', '.', 'S', 'T', ',', 'C', 'R', 'O', 'W'),
 ('N', ',', 'D', 'A', 'N', 'G', 'E', 'E', ',', 'D', 'E', 'S', 'T'),
 ('I', 'N', 'Y', ',', 'D', 'I', 'G', 'J', 'A', 'M', 'L', 'M', 'T'),
 ('D', ',', 'D', 'I', 'L', ',', 'D', 'K', 'E', 'G', 'L', ',', 'D'),
 ('P', 'A', 'B', 'H', 'U', 'S', 'H', 'A', 'N', ',', 'D', 'P', 'W'),
 ('I', 'R', 'E', 'S', ',', 'D', 'R', 'S', 'D', 'I', 'L', 'I', 'P'),
 (',', 'D', 'U', 'G', 'L', 'O', 'B', 'A', 'L', ',', 'E', 'I', 'F'),
 ('F', 'L', ',', 'E', 'L', 'G', 'I', 'R', 'U', 'B', 'C', 'O', ','),
 ('E', 'M', 'K', 'A', 'Y', 'T', 'O', 'O', 'L', 'S', ',', 'E', 'U'),
 ('R', 'O', 'B', 'O', 'N', 'D', '.', 'S', 'T', ',', 'F', 'E', 'L'),
 ('I', 'X', ',', 'F', 'O', 'C', 'E', ',', 'G', 'A', 'N', 'G', 'A'),
 ('F', 'O', 'R', 'G', 'E', ',', 'G', 'E', 'E', 'K', 'A', 'Y', 'W'),
 ('I', 'R', 'E', ',', 'G', 'I', 'R', 'I', 'R', 'A', 'J', ',', 'G'),
 ('I', 'R', 'R', 'E', 'S', 'O', 'R', 'T', 'S', ',', 'G', 'K', 'W'),
 ('L', 'I', 'M', 'I', 'T', 'E', 'D', ',', 'G', 'O', 'L', 'D', 'S'),
 ('T', 'A', 'R', ',', 'G', 'R', 'E', 'T', 'E', 'X', ',', 'G', 'R'),
 ('O', 'B', 'T', 'E', 'A', ',', 'H', 'E', 'C', 'P', 'R', 'O', 'J'),
 ('E', 'C', 'T', ',', 'H', 'I', 'N', 'D', 'C', 'O', 'N', ',', 'I'),
 ('C', 'E', 'M', 'A', 'K', 'E', ',', 'I', 'N', 'N', 'O', 'V', 'A'),
 ('N', 'A', ',', 'I', 'R', 'I', 'S', 'D', 'O', 'R', 'E', 'M', 'E'),
 (',', 'J', 'A', 'I', 'N', 'A', 'M', ',', 'J', 'A', 'I', 'P', 'U'),
 ('R', 'K', 'U', 'R', 'T', ',', 'J', 'A', 'K', 'H', 'A', 'R', 'I'),
 ('A', ',', 'J', 'A', 'L', 'A', 'N', ',', 'J', 'A', 'S', 'H', ','),
 ('J', 'E', 'T', 'K', 'N', 'I', 'T', ',', 'J', 'M', 'A', ',', 'J'),
 ('O', 'C', 'I', 'L', ',', 'J', 'S', 'L', 'L', '.', 'S', 'T', ','),
 ('K', 'E', 'E', 'R', 'T', 'I', ',', 'K', 'K', 'V', 'A', 'P', 'O'),
 ('W', ',', 'K', 'N', 'A', 'G', 'R', 'I', '.', 'S', 'T', ',', 'K'),
 ('O', 'T', 'A', 'R', 'I', 'S', 'U', 'G', ',', 'K', 'O', 'T', 'H'),
 ('A', 'R', 'I', 'S', 'U', 'G', ',', 'K', 'O', 'T', 'Y', 'A', 'R'),
 ('K', '.', 'S', 'T', ',', 'K', 'R', 'I', 'S', 'H', 'A', 'N', 'A'),
 (',', 'K', 'R', 'I', 'S', 'H', 'I', 'V', 'A', 'L', '.', 'S', 'T'),
 (',', 'K', 'R', 'I', 'S', 'H', 'N', 'A', 'D', 'E', 'F', ',', 'K'),
 ('R', 'I', 'T', 'I', 'K', 'A', ',', 'K', 'S', 'H', 'I', 'T', 'I'),
 ('J', 'P', 'O', 'L', ',', 'K', 'S', 'O', 'L', 'V', 'E', 'S', ','),
 ('L', 'A', 'G', 'N', 'A', 'M', ',', 'L', 'A', 'T', 'T', 'E', 'Y'),
 ('S', ',', 'L', 'A', 'X', 'M', 'I', 'C', 'O', 'T', ',', 'L', 'E'),
 ('M', 'E', 'R', 'I', 'T', 'E', '.', 'S', 'T', ',', 'L', 'E', 'X'),
 ('U', 'S', ',', 'L', 'F', 'I', 'C', ',', 'L', 'G', 'H', 'L', ','),
 ('M', 'A', 'C', 'P', 'O', 'W', 'E', 'R', ',', 'M', 'A', 'D', 'H'),
 ('A', 'V', 'B', 'A', 'U', 'G', ',', 'M', 'A', 'H', 'E', 'S', 'H'),
 ('W', 'A', 'R', 'I', ',', 'M', 'A', 'H', 'I', 'C', 'K', 'R', 'A'),
 (',', 'M', 'A', 'N', 'A', 'V', ',', 'M', 'A', 'N', 'G', 'T', 'I'),
 ('M', 'B', 'E', 'R', ',', 'M', 'A', 'R', 'S', 'H', 'A', 'L', 'L'),
 (',', 'M', 'B', 'A', 'P', 'L', ',', 'M', 'C', 'L', ',', 'M', 'D'),
 ('L', ',', 'M', 'G', 'E', 'L', ',', 'M', 'H', 'H', 'L', ',', 'M'),
 ('I', 'L', 'T', 'O', 'N', ',', 'M', 'I', 'T', 'T', 'A', 'L', ','),
 ('M', 'K', 'P', 'L', ',', 'M', 'M', 'P', ',', 'M', 'O', 'K', 'S'),
 ('H', ',', 'M', 'P', 'T', 'O', 'D', 'A', 'Y', ',', 'M', 'S', 'T'),
 ('C', 'L', 'T', 'D', ',', 'N', 'D', 'G', 'L', ',', 'N', 'I', 'D'),
 ('A', 'N', ',', 'N', 'I', 'D', 'A', 'N', '.', 'S', 'T', ',', 'N'),
 ('I', 'F', 'T', 'Y', ',', 'N', 'I', 'F', 'T', 'Y', 'A', 'L', 'P'),
 ('H', 'A', '5', '0', ',', 'N', 'I', 'R', 'A', 'J', 'I', 'S', 'P'),
 ('A', 'T', ',', 'N', 'I', 'T', 'I', 'R', 'A', 'J', ',', 'N', 'P'),
 ('S', 'T', ',', 'N', 'R', 'L', ',', 'O', 'M', 'F', 'U', 'R', 'N'),
 (',', 'O', 'N', 'E', 'P', 'O', 'I', 'N', 'T', ',', 'O', 'S', 'E'),
 ('I', 'N', 'T', 'R', 'U', 'S', 'T', ',', 'O', 'S', 'I', 'A', 'H'),
 ('Y', 'P', 'E', 'R', ',', 'O', 'S', 'W', 'A', 'L', 'S', 'E', 'E'),
 ('D', 'S', ',', 'P', 'A', 'N', 'S', 'A', 'R', 'I', ',', 'P', 'A'),
 ('R', ',', 'P', 'A', 'R', 'I', 'N', ',', 'P', 'A', 'R', 'T', 'Y'),
 ('C', 'R', 'U', 'S', ',', 'P', 'A', 'S', 'H', 'U', 'P', 'A', 'T'),
 ('I', ',', 'P', 'A', 'V', 'N', 'A', 'I', 'N', 'D', ',', 'P', 'E'),
 ('N', 'T', 'A', 'G', 'O', 'L', 'D', ',', 'P', 'E', 'R', 'F', 'E'),
 ('C', 'T', ',', 'P', 'K', 'T', 'E', 'A', ',', 'P', 'R', 'E', 'C'),
 ('I', 'S', 'I', 'O', 'N', '.', 'S', 'T', ',', 'P', 'R', 'E', 'C'),
 ('O', 'T', ',', 'P', 'R', 'I', 'T', 'I', ',', 'P', 'R', 'O', 'L'),
 ('I', 'F', 'E', ',', 'P', 'R', 'O', 'P', 'E', 'Q', 'U', 'I', 'T'),
 ('Y', '.', 'S', 'T', ',', 'Q', 'U', 'A', 'D', 'P', 'R', 'O', ','),
 ('R', 'A', 'J', 'M', 'E', 'T', ',', 'R', 'E', 'L', 'I', 'A', 'B'),
 ('L', 'E', ',', 'R', 'E', 'P', 'L', ',', 'R', 'E', 'X', 'P', 'I'),
 ('P', 'E', 'S', ',', 'R', 'K', 'E', 'C', ',', 'R', 'M', 'D', 'R'),
 ('I', 'P', ',', 'R', 'O', 'H', 'I', 'T', 'F', 'E', 'R', 'R', 'O'),
 (',', 'R', 'P', 'P', 'L', ',', 'S', 'A', 'G', 'A', 'R', 'D', 'E'),
 ('E', 'P', ',', 'S', 'A', 'K', 'A', 'R', ',', 'S', 'A', 'N', 'G'),
 ('I', 'N', 'I', 'T', 'A', ',', 'S', 'E', 'C', 'L', ',', 'S', 'E'),
 ('R', 'V', 'O', 'T', 'E', 'C', 'H', ',', 'S', 'H', 'A', 'I', 'V'),
 ('A', 'L', ',', 'S', 'H', 'A', 'N', 'T', 'I', ',', 'S', 'H', 'I'),
 ('G', 'A', 'N', '.', 'S', 'T', ',', 'S', 'H', 'I', 'V', 'A', 'U'),
 ('M', ',', 'S', 'H', 'R', 'A', 'D', 'H', 'A', ',', 'S', 'H', 'R'),
 ('E', 'M', 'I', 'N', 'V', 'I', 'T', ',', 'S', 'H', 'R', 'E', 'N'),
 ('I', 'K', ',', 'S', 'H', 'U', 'B', 'H', 'L', 'A', 'X', 'M', 'I'),
 (',', 'S', 'I', 'D', 'D', 'H', 'I', 'K', 'A', ',', 'S', 'I', 'G'),
 ('M', 'A', ',', 'S', 'I', 'K', 'K', 'O', ',', 'S', 'I', 'L', 'G'),
 ('O', ',', 'S', 'I', 'L', 'L', 'Y', 'M', 'O', 'N', 'K', 'S', ','),
 ('S', 'I', 'N', 'T', 'E', 'R', 'C', 'O', 'M', ',', 'S', 'K', 'S'),
 ('T', 'E', 'X', 'T', 'I', 'L', 'E', ',', 'S', 'M', 'V', 'D', ','),
 ('S', 'O', 'L', 'E', 'X', ',', 'S', 'O', 'N', 'A', 'H', 'I', 'S'),
 ('O', 'N', 'A', ',', 'S', 'O', 'N', 'A', 'M', 'C', 'L', 'O', 'C'),
 ('K', ',', 'S', 'O', 'U', 'T', 'H', 'W', 'E', 'S', 'T', ',', 'S'),
 ('P', 'C', 'E', 'N', 'E', 'T', ',', 'S', 'P', 'R', 'L', '.', 'S'),
 ('T', ',', 'S', 'R', 'I', 'R', 'A', 'M', ',', 'S', 'R', 'P', 'L'),
 (',', 'S', 'T', 'E', 'E', 'L', 'C', 'I', 'T', 'Y', ',', 'S', 'U'),
 ('M', 'I', 'T', ',', 'S', 'U', 'P', 'R', 'E', 'M', 'E', 'E', 'N'),
 ('G', ',', 'S', 'U', 'R', 'A', 'N', 'I', ',', 'S', 'U', 'U', 'L'),
 ('D', ',', 'S', 'V', 'L', 'L', ',', 'S', 'W', 'A', 'R', 'A', 'J'),
 (',', 'T', 'A', 'R', 'A', 'C', 'H', 'A', 'N', 'D', ',', 'T', 'E'),
 ('M', 'B', 'O', ',', 'T', 'H', 'E', 'J', 'O', ',', 'T', 'I', 'R'),
 ('U', 'P', 'A', 'T', 'I', ',', 'T', 'I', 'R', 'U', 'P', 'A', 'T'),
 ('I', 'F', 'L', ',', 'T', 'O', 'T', 'A', 'L', ',', 'T', 'O', 'U'),
 ('C', 'H', 'W', 'O', 'O', 'D', ',', 'U', 'C', 'L', ',', 'U', 'N'),
 ('I', 'I', 'N', 'F', 'O', ',', 'U', 'N', 'I', 'T', 'E', 'D', 'P'),
 ('O', 'L', 'Y', ',', 'U', 'N', 'I', 'T', 'E', 'D', 'T', 'E', 'A'),
 (',', 'U', 'N', 'I', 'V', 'A', 'S', 'T', 'U', ',', 'U', 'R', 'A'),
 ('V', 'I', ',', 'U', 'W', 'C', 'S', 'L', ',', 'V', 'A', 'I', 'S'),
 ('H', 'A', 'L', 'I', ',', 'V', 'A', 'R', 'D', 'H', 'A', 'C', 'R'),
 ('L', 'C', ',', 'V', 'A', 'S', 'A', ',', 'V', 'C', 'L', ',', 'V'),
 ('E', 'N', 'K', 'E', 'Y', 'S', ',', 'V', 'E', 'R', 'A', ',', 'V'),
 ('E', 'R', 'T', 'O', 'Z', ',', 'V', 'I', 'R', 'E', 'S', 'C', 'E'),
 ('N', 'T', ',', 'V', 'M', 'A', 'R', 'C', 'I', 'N', 'D')]

Thank you in advance for your time.

7
  • 1
    What do you mean separate strings of 13 and 39? One string of 13 'words' between columns and another of 39? or 39 strings that are 13 'words' long? It's unclear Commented Jun 27, 2024 at 9:50
  • Your example is one string of 13, and one string of 12. There are 218 'words' in your example, so can't be 39 strings of 13 words Commented Jun 27, 2024 at 9:51
  • 2
    Why do you first join then want to separate? It's much easier to first separate then join Commented Jun 27, 2024 at 9:51
  • If you call batched on the list (before joining to string), and only then join the batches afterwards, it will work. Commented Jun 27, 2024 at 9:54
  • Your shared data is fine, but your question is not clear. Commented Jun 27, 2024 at 9:54

2 Answers 2

2

Why do you first join your string? To be able to split you'll need individual words.

Assuming symbols your long string you would need to split again:

import more_itertools as it

list(map(','.join, it.batched(symbols.split(','), 13)))

Assuming lst the list (or df['col'] if a DataFrame column) before joining you should better run:

list(map(','.join, it.batched(lst, 13)))

# or
list(map(','.join, it.batched(df['col'], 13)))

Output:

['3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED',
 'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL',
 'AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL',
 'CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL',
 'DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ',
 'GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA',
 'JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA',
 'KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER',
 'MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL',
 'MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST',
 'NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD',
 'PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC',
 'RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA',
 'SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA',
 'SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ',
 'TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI',
 'UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND']
Sign up to request clarification or add additional context in comments.

2 Comments

Thank you so much for your help. It does solve my question. I apologize if I could not explain my question better in the first place itself. I was in a rush and thought that cutting to the exact point where I had extracted the dataframe columns to a string was a good starting point but in hindsight it was not.
@Hamza no worries, it's not always easy to know how many background details to give. Something a lot of background can be useless.
2

If you split your string on the commas, using str.split(','), you'll get a list of all your individual 'words', like this:

split = symbols.split(',')

['3RDROCK', 'AARON', 'AARVI', 'ABCOTS.ST', 'ABINFRA', 'ABMINTLLTD', ...

You can then use list comprehension to group these back into a list of n characters using split[i:i+n] in the below, then use .join() to join each group of n back into a single string. (NB: I'm using n=13 here, change to n=39 for strings of 39 'words'):

n=13
[','.join(split[i:i+n]) for i in range(0, len(split), n)]

Output:

['3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED', 
'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL', 
'AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL', 
'CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL', 
'DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ', 
'GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA', 
'JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA', 
'KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER', 
'MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL', 
'MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST', 
'NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD', 'PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC', 
'RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA', 
'SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA',
 'SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ', 
'TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI', 
'UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND']

If you're taking the original string from a dataframe, there is no point joining all the values together into one long string, only to split it up again. IIUC You could use df['col name'].to_list() to get the list of each individual 'word' without joining them up.

3 Comments

Sorry for not marking your reply as the answer since @mozway replied earlier
@HamzaAhmed no worries, Mozway's solutions are always really good, they are very knowledgeable. If my answer helped too, you could always upvote it, but that's up to you :)
A different approach to solving the same problem. Nice learning for me.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.