From 2679f0e2c7cbeb3be5fe50ab0d4c67d157d2048f Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Sun, 28 Apr 2024 12:40:05 +0100 Subject: [PATCH] Autosave: 2024-04-28 12:40:05 --- .zk/notebook.db | Bin 3244032 -> 3244032 bytes zk/Working_with_CSVs_in_Python.md | 46 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/.zk/notebook.db b/.zk/notebook.db index 26be13de90b6269139c7aaf6af7d1c724b900a5d..91ff628df4ee49fec897fe0214b5d5c3057f257e 100644 GIT binary patch delta 4570 zcmeHLU5p!76`p(N$M$$;{Ikw({jbpF9j-947O)4b?HBE^iYNCi8d&axd zcx}t}?q&hu7*`H`shSAYDpFDSQA7c$MT>AMfhZC}c|eM#3XoC|RmB4j^aUaDhWPG` zyV;~^(-wF^wf3y<+iItt@{R9_FObmh)tl;H)jz2}R==yh zqzT&W#_;8<%7eQ}m}=wPBnh#v-6Y7qwvhmp1fmel`D)*Kxp(VjGCLt%;{tyVT!Ae5WsT`eLUqb^4x8 z-`nZ?I(@m*_y4S~{4I1On@;A6*+g;9EN15BQ^{gJH)muFBUwyk52WYjvZiTf<_qbx zX{8fs!$=#+Tt1VT&!u3MEX za%MJRnWmLDi@CW>HkV7xXRM@QSaYeIIhUHxq|?b%DwoY-sL>+(ywoXUb{f4c>Yo+AAxLx3`0gB+aWt3J0ZIuyCI{H z2Owh*9WoA?fJ{Oj>~-=}UpXgv_i%l0xaWCe>M9}O-Vc5?^^COL(~j|6L=szvJnb2b zc-ndl*!wQUZcIV;K&BxxkSHY9i{03J>kpd9wK?UA|6jhIILfszKRVKlUY$MDd@g+b zB0famuFT*757NYRJLV^JXUj{3{bg&d9rF>|8mB_lXe_m39zu5!l5hqm2{9byGs+m{ z^OaRsH$nMQz2azmfs(Q_nCFS<3{*<$?O1@&v61PMLDHmo%e8ull66NTPxyiXE9mSW zRVH>&u~J%D#)L}fQ9+CIv<4Hz;h{p!G8#?x5ub(!LARK9wtK3E+OV2LdQK%q`e+5%c)cWwoL}E$P+jK z=-EBXAz6=pc_IVe)M=4*aRNGA!ZIaMsWBu_A`sMV7C@>CNQ$$!bO0Le#DMALX z=pM@U2@(3Zq77>*PfI1&O@<0fcENRi9OXWk|I7+c8v#s@@PzP$@*|ntX!komnjLN; zNv-7vwr=UQW(mJu!G_2tPCQ>ezkjV#JCA~)f?rj9e#P(eseWG|C~Ld@0Yy`NnkK7Z z&97=&ASBC*->U``SyMHCz^`b5A)guuDnWlR6i@;_S(W{YDrl%G?L8?8^A07&yug18C1KvBB$o93CDfmv zz5dE9WFI6B+24EpmBfi_BIP*x+n#bV`H#Sh)ubp2Z*sz$XasKv!~PeeU}NsdCyySx zVtsQG(4Bg!^+fmEzmARfuID3p!g8 zg6`h2vpPsvM{mRy%X$g-H%89Ifp5F68~7{BcEhR}`I2=|mKPQls_SyGQqyadHQg@j zuET?}j!&~%!(}^zl_*n`<)KLB6_C(c4%ayD^}#Vr86QP~ow#j+c8 zNdqYAaalfPtTRWfLqxPkPkpgFemoLsy3XpiPl+{dvwF4WG*HO-4)AWH!9rOXnB7?? zTheiAg*ilC0Q&3%8&8~bT~1C;>ZiMVi;-KsKbnyfpVsuJHU0ln({CN&e)*sNR?t1R c7)h$B#KBZLK98Ro(y3&(vlv;tR!s)~4Tz?jO8@`> delta 632 zcmXZa&ubG=5C`x#Z#TQy%{H6Vwuw!w{gpO}Nt$iiY;q8*6ujmi5KOXZK`4l#7cXg3 zUcf_X6dDu?K}8G{8VUGLLcK^q!FLfcJydGF=|uz&f;a&WAHKum!3@Jxt8bx-wnGDJ zgh)X&LI{x?Q5)7?UVmn~U3wB9;A+?K>6DK=fq=W49Q}P8I^D?DF#vn&+J=W(Bh(#l z>=@H=7^L0_G6nvAgu&O3VKDpQ1#dspT5p&4b|EpT>=E;)xyOwIcx=vXjuBIaWnCug z2DT)!Z*!JtK>!&*0Z;+l02+V}-~lk2A3s2h9$#bvn4nBZOvp^Qm{6EdnQ$|qF`+Zz zc_obR{wsEAzF4x;=}I;`?_`TkxoF#I%dvBn(qd*I?c|-6T&cX6DOVgT<5+gy$>#HR zW+h$8EfkB{47BU169Ww(FEV-R#P{WO)7SDZQST`)wET~}O?7o>sUF++qd^|qKXcS^ zQ@TOaA9SPZ@7$&G{nc8$&PqdQ7>%F+3Zk=U6opV2okL^jJQ_z6XcA4KY0gTKd)E}) zlW>Q*dJt&=%(j~_u^_r8BE ZSieJ9(^K>f|9g0%V0|{Z>!$U`{0D%ByYB!1 diff --git a/zk/Working_with_CSVs_in_Python.md b/zk/Working_with_CSVs_in_Python.md index 4e56c0a..a02a222 100644 --- a/zk/Working_with_CSVs_in_Python.md +++ b/zk/Working_with_CSVs_in_Python.md @@ -24,6 +24,52 @@ with open('./path.csv', mode="r") as csv_file: reader = csv.reader(csv_file) ``` +### Parse values + +Having created the `reader` object, you can then loop through this as an +iterable: + +```py +for row in reader: + print(row) +``` + +Will return something like: + +```csv +column something, column something else, ... +``` + +Which we can individuate with: + +```py +print(row[0]) +# column something +``` + +We can also parse the rows as a dictionary for easier individuation. We do this +by creating a `DictReader` rather than the default `reader`: + +```py +... +dict_reader = csv.DictReader(csv_file) +``` + +Now we can use the header row values to individuate particular columns. + +Say we have a CSV with the following headers: + +```csv +name, profession +``` + +We can individuate thus: + +```py +for row in dict_reader + name = row["name"] +``` + ### Write Use standard Pythonic "read" syntax: