From d31644d09996bd2216e08c21c69246efab06e100 Mon Sep 17 00:00:00 2001 From: Angela Date: Tue, 21 May 2024 23:02:01 -0300 Subject: [PATCH 1/6] =?UTF-8?q?Exerc=C3=ADcio=20de=20casa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exercicios/para-casa/script_exercicio_casa.py | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 exercicios/para-casa/script_exercicio_casa.py diff --git a/exercicios/para-casa/script_exercicio_casa.py b/exercicios/para-casa/script_exercicio_casa.py new file mode 100644 index 0000000..b859dee --- /dev/null +++ b/exercicios/para-casa/script_exercicio_casa.py @@ -0,0 +1,72 @@ +import csv +import sqlite3 + +conn = sqlite3.connect("livraria.db") +cursor = conn.cursor() + +def criar_tabela_banco(): + cursor.execute(""" + CREATE TABLE IF NOT EXISTS livros ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + titulo TEXT NOT NULL, + autor TEXT NOT NULL, + ano INTEGER NOT NULL, + preco REAL NOT NULL + ) + """) + + conn.commit() +def criar_csv(): + dados = [ + ['titulo', 'autor', 'ano', 'preco'], + ['Dom Casmurro', 'Machado de Assis', 1899, 32.43], + ['Orgulho e preconceito', 'Jane Austen', 1813, 35.20], + ['O Diário de Anne Frank', 'Anne Frank', 1947, 23.90], + ['Percy Jackson', 'Rick Riordan', 2005, 29.90], + ['Fahrenheit 451', 'Ray Bradbury', 1953, 42.50] + ] + + with open('livros.csv', 'w', newline='') as livros_csv: + escritor = csv.writer(livros_csv) + escritor.writerows(dados) +def importar_csv(): + with open('livros.csv', 'r') as livros_csv: + leitor = csv.reader(livros_csv) + next(leitor) + for linha in livros_csv: + cursor.execute("INSERT INTO livros (titulo, autor, ano, preco) VALUES (?, ?, ?, ?)", linha.split(',')) + + conn.commit() +def consultar_livros(): + cursor.execute("SELECT * FROM livros") + resultados = cursor.fetchall() + conn.commit() + for linha in resultados: + print(linha) +def atualizar_livro(): + cursor.execute("UPDATE livros SET preco = ? WHERE titulo = ?", (32.50, 'Dom Casmurro')) + conn.commit() +def remover_livro(): + cursor.execute("DELETE FROM livros WHERE id = ?", (2,)) + conn.commit() +def exportar_csv(): + cursor.execute("SELECT titulo, autor, ano, preco FROM livros") + dados = cursor.fetchall() + with open('exportados.csv', 'w', newline='') as exportados_livros: + escritor = csv.writer(exportados_livros) + escritor.writerow(['titulo', 'autor', 'ano', 'preco']) + escritor.writerows(dados) + + cursor.close() + conn.close() + +criar_tabela_banco() +criar_csv() +importar_csv() +consultar_livros() +atualizar_livro() +remover_livro() +exportar_csv() + +print("Programa concluído com sucesso!") + From 28d7d714ce27981ce7642127b2baf5e9322a0d16 Mon Sep 17 00:00:00 2001 From: Angela Date: Wed, 22 May 2024 21:10:01 -0300 Subject: [PATCH 2/6] =?UTF-8?q?Exerc=C3=ADcio=20pacote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exercicios/para-casa/pacote/__init__.py | 0 .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 235 bytes .../script1_criar_banco.cpython-312.pyc | Bin 0 -> 835 bytes .../script2_criar_csv.cpython-312.pyc | Bin 0 -> 1082 bytes .../script2_importar_csv.cpython-312.pyc | Bin 0 -> 1154 bytes .../script3_consultar_livros.cpython-312.pyc | Bin 0 -> 807 bytes .../script4_atualizar_livro.cpython-312.pyc | Bin 0 -> 734 bytes .../script5_remover_livro.cpython-312.pyc | Bin 0 -> 678 bytes .../script6_exportar_csv.cpython-312.pyc | Bin 0 -> 1171 bytes .../para-casa/pacote/script1_criar_banco.py | 16 ++++++++++++++++ .../para-casa/pacote/script2_criar_csv.py | 17 +++++++++++++++++ .../para-casa/pacote/script2_importar_csv.py | 17 +++++++++++++++++ .../pacote/script3_consultar_livros.py | 11 +++++++++++ .../pacote/script4_atualizar_livro.py | 8 ++++++++ .../para-casa/pacote/script5_remover_livro.py | 8 ++++++++ .../para-casa/pacote/script6_exportar_csv.py | 14 ++++++++++++++ exercicios/para-casa/pacote/script_pacote.py | 13 +++++++++++++ 17 files changed, 104 insertions(+) create mode 100644 exercicios/para-casa/pacote/__init__.py create mode 100644 exercicios/para-casa/pacote/__pycache__/__init__.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script1_criar_banco.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script2_criar_csv.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script2_importar_csv.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script3_consultar_livros.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script4_atualizar_livro.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script5_remover_livro.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/__pycache__/script6_exportar_csv.cpython-312.pyc create mode 100644 exercicios/para-casa/pacote/script1_criar_banco.py create mode 100644 exercicios/para-casa/pacote/script2_criar_csv.py create mode 100644 exercicios/para-casa/pacote/script2_importar_csv.py create mode 100644 exercicios/para-casa/pacote/script3_consultar_livros.py create mode 100644 exercicios/para-casa/pacote/script4_atualizar_livro.py create mode 100644 exercicios/para-casa/pacote/script5_remover_livro.py create mode 100644 exercicios/para-casa/pacote/script6_exportar_csv.py create mode 100644 exercicios/para-casa/pacote/script_pacote.py diff --git a/exercicios/para-casa/pacote/__init__.py b/exercicios/para-casa/pacote/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/exercicios/para-casa/pacote/__pycache__/__init__.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c844dd32edfbf66aa8eaa9c67fdf36f8636bb837 GIT binary patch literal 235 zcmZ9GK}rKb5Jjg=1PSC0v(2JKTqQvSnc2)jk%+s3q0(K6jZRln-NMWjyntu$EFL2# zknFOuXPXbd>Q(Wf>UTb$6QM(mUA7adGlQi#X>#(6mpTL~*|Z>MeT1+LE?t zIqIeX>Pd_uaWzW3&R?|YBk*{}J07D)5on$HCU;Fn5b zOGLrwstitm3tZR%Tfj}c16!~U3(4P#U^)?P3`yzLGx{jq2~e8^~)+Ud&L7OtuA#I26fkYZr>qutJPeVVb}0c!Jys z(+>50;)rnC=`l`Om?k^K=?NkaXt(Q$LLy8l4x5%Qj;k+((D|qGL%Ycd<95YkM6QXE zOHhdkVpkXqT6D)=FWVKuUkMu6brLZ8g5fT<8>EYUjFxTc-+rJ4eesg|8o#-$wXp9{ z%_W+PUCK4Xu;m`i@f?qGJHQNU4(3=!4wXZ=!@NM;+LnOX_PBR3=!dz9oaN-I>YDNU z(hb1R?ELZ4(b8w_dv;-P_iXmcarLPBVRdltEID&nJSYx9=34d-$fR<^>mZdmTsc^I z|9B)@K_S6X62^jG0Gm~@`XkOWkGjxMaC6B$Vd|LF=jXrLw;v2p^*_6pXc}f}l6UK=7$Ed#@FSXLf&Q&e`)jbLPzK+v@5x0$CpF zpKxOceN)DvfE~$RBdBF$BOAMDw50JUwqy6vXsn10?S~2*u%h5HBtdKN?!5+BMw7r@ z#elI0wFu)8CL+`U^+gomG9TGVJ7rhAO0TOdAeYf14$5UrTnFT;wG=6PvoVZx?1mti@{ zn2Jj=X+b0xQr!(g$ibtotL7cagfzPyXdH(Ysy>K-ncaf>BAXiEGj9? zEDnpPdipZ5o0q0O>owbY!zaCA<JF)@g6*5}jv~h9;`P6DH+77kYass^kUQ10ND~00*gSId0Fo?7Ck{mw3DyaB3g8KluRy z@IxpeNoC>S3>P+l1uW=*%n`y2w4`N_k>+4h{wV?n&2o4NsyLVVK6uHqZUCS2Bg%$Z zLjy+(Zk7EDpa8P!F;`jKD&qq5wa{xxmb_KY)(RFRKN@rgUveYm~*bM}4E-4@?{uEyoE1&ITc&dWoY`g=Q zZK&8o>6jn<-#-Tu;5uONg#^JEfPB5_n3c!C3z&=y&c_^kh9YXC7HeX@S}26Im~1A1 zbiTWPaJX-1MDHIQd7vM;^d{f-^A1VrDDM->!R4|?u}PBpqppF`zG1!TZb~nI$wQb* z#sZB!cWfWu3^bFtE;jujV&*9$G*F0#-9Q!vBNQVGbCZi_{XoOB*v$JlP?^Wi@&hE7 zRi`T7Z z)-s#bJMqNgy*;IBwQ+f%Sbz36fNBn|s>Mjnio4`)H;iqMKm9&F`E`79dn&s#{_I=C z`6Y{(Kbpw2Ujt-qBX|nB*fk;2cnKe-Eo}=ZKYea3?*@Rq?c09cTM8gm4#B?}8HtN(|Q0 HQ{4C$t40Sa literal 0 HcmV?d00001 diff --git a/exercicios/para-casa/pacote/__pycache__/script3_consultar_livros.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script3_consultar_livros.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2d078e087e7887bbb75d54a5d4198221289f14a6 GIT binary patch literal 807 zcmZ8fL2DC16rSB|vT19YR#cE8?4{VWY!G{?MFdGI6l#=KJ%p7qnVp)Ao1JxLqD^VY z1}(8D)LX%$H|f9d>P4uBvgRP@#hVzs^yEyEZGsQxz3;tw^WHaa=5s1F4upJqS=jn3 z><{Tg5*vW-BLNP94Q#~)MW6xpZ8BIxuUOP?RsNCYB`9{UFpK;6nGM648qS!rDqiK^e`AkE9G>M5O_CK^{C# z0nkwR8RgxPI&ae&;K`^$Wg^z=!?;f!kB1r}o+t81wd(MU8je%UYA%O1VPV{LyfS2R@P={v zKDTT=WSBB5?@-JMg@%od+mvG~Pl;b5+t&S@mB;KUC%(0geM+8CScTRGu0jtQOBV62 z-!T0;FB8vX*Otr@^bj#^Y}&G&xw>izniM(6AG%7cW7Wi(sf5M0=>BHlc~62TSM=m9S8zGt;_pcV~Sw(Iy~G zKndbOZ^esu>7U}Ipa+RP2%fwNx%K4CHcP>S59Yn^y?OJ^H$T1s&rlBJtOF0%8|PMErFgk(l5`U&J?Wdr40{6|pC8EPC4{rov;~ zV}uFmt*rQ30MLL2Liz~-;!z@rMpWocB!wVR3tL2WNf`7AY^9e`NqXZ8|I}bs3(o5y zOWF<4v0WHdhLxjBOGmZvn;jk7`O*Av{*4DSdcJ&a?8@h1p!lt^YfjFo0<#*-6Qx{G zFvv86`H?4uyOChskl%+notlp&uW9!uXIa({H22fJJa{?UAMSs6_0_#PaK6tJ- literal 0 HcmV?d00001 diff --git a/exercicios/para-casa/pacote/__pycache__/script5_remover_livro.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script5_remover_livro.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8ed83c852e04177e561ebaa1dbe49708d534484c GIT binary patch literal 678 zcmaJ<&1(}u6rb7MW?O6gxOlLLdl3v}gH(i8{6M-Z7Hli=ldw=GGoxy{)L3Pk0l2g1u<|XfOw31cR=wd0FgDsM)Y7Y3b=fwL>AR}2I2*fghUT{LQ>+* zMn})B!xIr*Vce1 zVx7a<=ti_@% literal 0 HcmV?d00001 diff --git a/exercicios/para-casa/pacote/__pycache__/script6_exportar_csv.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script6_exportar_csv.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1dbc2713bb9920719c5ff67697d26d265cf59eed GIT binary patch literal 1171 zcmZWpO-vI(7@gVOcH2TJXdoy;HZdF;XiJU_!#l*|yu(IFroxzL_^~-nTQ^Z{ctV@D^Sl zpZyF0_~j;E6U*TAIR`ty00vBfL@B}q6aa!r$s<>zAr!ch+Y%xYlfe?M9Sh|oAsOO2 zNcfguRQm1Cjpyo8<^s`(sl|;My>^eEC$6E>J}$lkoXT3#vssw|+^A;()-ruHlrr?J ztN=&$Rt>=r4e67wP*%PPR-jWUBU$`l9=8;iE9b2U%R(~z@2Z>40mJ{k!h(RaBLB0N zLDe_^+`Jcr5{uW-=<$;mJyeZe9S|&mtKd4IFe^YX1t9NlIu^w#kcClsJl8!r`fzmk zsp6PUCWX5dE#qLqgT=8;kdBr66OSJ$?k!-NYe0)OCXQxc8rSIpgINZmkjWOxrc4V( zCFU;)F<()LiCl>JibBy4^XnNxF<~-VM0&IkAQ9Biu-$R>D>XlYHIL}|^^lztUky#q0O$(hGij9%-H z&1ja6V+M*9UBt%5R9+d;P2I#)wKbx}bd72p>6jnl`mvq9>9SWc&8v;uORT|O)X9pXMc;Ap literal 0 HcmV?d00001 diff --git a/exercicios/para-casa/pacote/script1_criar_banco.py b/exercicios/para-casa/pacote/script1_criar_banco.py new file mode 100644 index 0000000..d3e3f9b --- /dev/null +++ b/exercicios/para-casa/pacote/script1_criar_banco.py @@ -0,0 +1,16 @@ +import sqlite3 + +def criar_banco(): + conn = sqlite3.connect("livraria.db") + cursor = conn.cursor() + cursor.execute(""" + CREATE TABLE IF NOT EXISTS livros ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + titulo TEXT NOT NULL, + autor TEXT NOT NULL, + ano INTEGER NOT NULL, + preco REAL NOT NULL + ) + """) + + conn.commit() diff --git a/exercicios/para-casa/pacote/script2_criar_csv.py b/exercicios/para-casa/pacote/script2_criar_csv.py new file mode 100644 index 0000000..bb762bb --- /dev/null +++ b/exercicios/para-casa/pacote/script2_criar_csv.py @@ -0,0 +1,17 @@ +import csv +import sqlite3 + +def criar_csv(): + dados = [ + ['titulo', 'autor', 'ano', 'preco'], + ['Harry Potter e a Pedra Filosofal', 'Emma Watson', 1997, 32.43], + ['Harry Potter e a Câmara Secreta', 'Emma Watson', 1998, 35.20], + ['Harry Potter e o Prisioneiro de Askaban', 'Emma Watson', 1999, 23.90], + ['Harry Potter e o Cálice de Fogo', 'Emma Watson', 2000, 29.90], + ['Harry Potter e a Ordem da Fênix', 'Emma Watson', 2003, 42.50] + ] + + with open('livros.csv', 'w', newline='') as livros_csv: + escritor = csv.writer(livros_csv) + escritor.writerows(dados) + diff --git a/exercicios/para-casa/pacote/script2_importar_csv.py b/exercicios/para-casa/pacote/script2_importar_csv.py new file mode 100644 index 0000000..bb1dfa6 --- /dev/null +++ b/exercicios/para-casa/pacote/script2_importar_csv.py @@ -0,0 +1,17 @@ +import csv +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +def importar_csv(): + with open('livros.csv', 'r') as livros_csv: + leitor = csv.reader(livros_csv) + next(leitor) + for linha in livros_csv: + cursor.execute("INSERT INTO livros (titulo, autor, ano, preco) VALUES (?, ?, ?, ?)", linha.split(',')) + + conn.commit() + + + diff --git a/exercicios/para-casa/pacote/script3_consultar_livros.py b/exercicios/para-casa/pacote/script3_consultar_livros.py new file mode 100644 index 0000000..81f743b --- /dev/null +++ b/exercicios/para-casa/pacote/script3_consultar_livros.py @@ -0,0 +1,11 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +def consultar_livros(): + cursor.execute("SELECT * FROM livros") + resultados = cursor.fetchall() + for linha in resultados: + print(linha) + conn.commit() \ No newline at end of file diff --git a/exercicios/para-casa/pacote/script4_atualizar_livro.py b/exercicios/para-casa/pacote/script4_atualizar_livro.py new file mode 100644 index 0000000..6b2e838 --- /dev/null +++ b/exercicios/para-casa/pacote/script4_atualizar_livro.py @@ -0,0 +1,8 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +def atualizar_livro(): + cursor.execute("UPDATE livros SET preco = ? WHERE titulo = ?", (32.50, 'Harry Potter e a Pedra Filosofal')) + conn.commit() \ No newline at end of file diff --git a/exercicios/para-casa/pacote/script5_remover_livro.py b/exercicios/para-casa/pacote/script5_remover_livro.py new file mode 100644 index 0000000..6bbcb2c --- /dev/null +++ b/exercicios/para-casa/pacote/script5_remover_livro.py @@ -0,0 +1,8 @@ +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +def remover_livro(): + cursor.execute("DELETE FROM livros WHERE id = ?", (2,)) + conn.commit() \ No newline at end of file diff --git a/exercicios/para-casa/pacote/script6_exportar_csv.py b/exercicios/para-casa/pacote/script6_exportar_csv.py new file mode 100644 index 0000000..ff0cc85 --- /dev/null +++ b/exercicios/para-casa/pacote/script6_exportar_csv.py @@ -0,0 +1,14 @@ +import csv +import sqlite3 + +conn = sqlite3.connect('livraria.db') +cursor = conn.cursor() + +def exportar_csv(): + cursor.execute("SELECT titulo, autor, ano, preco FROM livros") + dados = cursor.fetchall() + with open('exportados.csv', 'w', newline='') as exportados_livros: + escritor = csv.writer(exportados_livros) + escritor.writerow(['titulo', 'autor', 'ano', 'preco']) + escritor.writerows(dados) + conn.commit() diff --git a/exercicios/para-casa/pacote/script_pacote.py b/exercicios/para-casa/pacote/script_pacote.py new file mode 100644 index 0000000..8969fc4 --- /dev/null +++ b/exercicios/para-casa/pacote/script_pacote.py @@ -0,0 +1,13 @@ +import csv +import sqlite3 + +from pacote import script1_criar_banco, script2_criar_csv, script3_consultar_livros, script4_atualizar_livro, script5_remover_livro, script6_exportar_csv + +funcao1 = script1_criar_banco.criar_banco() +funcao2 = script2_criar_csv.criar_csv() +funcao3 = script3_consultar_livros.consultar_livros() +funcao4 = script4_atualizar_livro.atualizar_livro() +funcao5 = script5_remover_livro.remover_livro() +funcao6 = script6_exportar_csv.exportar_csv() + +print("Programa concluído com sucesso") \ No newline at end of file From 5a1b2020c50599be444c8d1ad025da8c07387478 Mon Sep 17 00:00:00 2001 From: Angela Date: Wed, 22 May 2024 21:23:04 -0300 Subject: [PATCH 3/6] Ajustes pacote --- .../script2_criar_csv.cpython-312.pyc | Bin 1082 -> 1030 bytes .../script2_importar_csv.cpython-312.pyc | Bin 1154 -> 1075 bytes .../script4_atualizar_livro.cpython-312.pyc | Bin 734 -> 714 bytes .../para-casa/pacote/script2_criar_csv.py | 10 +++++----- .../pacote/script4_atualizar_livro.py | 2 +- exercicios/para-casa/pacote/script_pacote.py | 3 ++- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/exercicios/para-casa/pacote/__pycache__/script2_criar_csv.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script2_criar_csv.cpython-312.pyc index 0e73c617c3a4f314ee9b3adc60aedb1d3fc64474..d09c2e4a71b5ee65b659f6d1ce376b1381702a0c 100644 GIT binary patch delta 372 zcmdnR(Z<1hnwOW00SGR2`K8HiH zBsDKn6r^X?Ob~Dc>M0cm+UT#~l6iPxQ6|LbJfLE?qQt!H`YJ9*I45&9NMjlZJTnJb z#v71Ylw7Icm6)7eoS#?46O@^ptq_!%UzC!Vmw6ST*cPOi&n+>dC^atw=pF?VQ$wKY z#7YIHqQsP>(xS@Dg&@@+uQNEfI#hAxWR?}>7waWYu4MY9C=3*30pj8qAko0^h)wer zoB1s^>sxF#x7bW>v6)Vu!W^x|1C+eQUR;=yS(0j81k$sT;WLnAC=vn^zc_4i^HWN5 QQtgVwCrh%(vWNi%0hPFMlmGw# delta 428 zcmZqU*u}wnnwOW00SKlC`KIM;s5JK%#-+5u4^MHa9Txg)k;3Fh_gy0wr&;7Z>JamZTaNf%L3o z_zWZ&iiCm0FAkgB{FKt1RJ$SxAeRw{iv@th2WCb_#@h^Bw;A|8v+yt~6o~@`0pDJJ A3jhEB diff --git a/exercicios/para-casa/pacote/__pycache__/script2_importar_csv.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script2_importar_csv.cpython-312.pyc index 65fe370ed3ffa38bdead7746f434ccd16cf31318..9d136c4bf34153d2f413b95d02355aae56ace8e0 100644 GIT binary patch delta 674 zcmZuv&ubG=5T4ohl9x@pRa8{0?X3+@GlU&^;8N)wjK&Sc`HPy^wfDx9_gX8@XZfq=KE%M-`GD2$(G|3f$ZUj z%JT#P4s>FS^@Hvl1sf1RfHm-X9zC=m#E6^bfe)-r+N8~6A&cx@d=@wRiI?zzy#+7# z3SItJ7b~xaYSl$KFRSxY!88BtP=OMys9T`z8=(3eK&pt*>b2g3HYlST&QsR{qppoA z5r(0Kri{>n$1qz0Xj@8?o?0|yqJa-s%Zi*qZlZvjT}Bqdn#;k~ua2HUwWvnSPiIKIrD!Vh-E} zS^C|&$@Tf^w)O48WeW6xu_EX|`i0%WKj|(jCI5zjiPiE-`Q5D}hqF2!g2v-`m^#;I zoSA9%b2|43g`1apLnh*vL>J!8geDAqCH37>|2tCCe1$F{$V&vrh5PkJ(5!_IHV{5WjoRpG`wrwdErewGxz)CM^<>0Sc8`F_x}~AckTa6w7JAcA$WxBvnup zfz-i6*%+808~g`d8Cjx~jfpK%2Bc2hOKj*_?{~lZc)zpH-?Tlw_C1*#1G1Z&_nv%0 zfL|hrjYVXTCUO8KnCL)ZMwItU>^`9QB=WorqV_SL3wFOx}s4@=#^I9#`z)2gT9I2khSr?kD3~z(saiga`q< z3y&@WRHXpzRJe}QQXturM5dPI_;x%I;r)UHx>yB0|FiV|Q(+rtg~rT?z>r)$b8DAB zfR~t2wq7Tk;tO}%EpD%vkHbT}e?HMuz2{ERx32e8qr9_Y8GcVODy~;{!!%20RcqHW zD!$c|y=T-$wQ{LMUN)SvXJzD`ByPE4=ix&(tB4)W&xdc=mn)}yHChTiHgox!h%1E7!<1SGr7TEj5^2VB);jY-es|XOIKf{0!+!=yn?RKebRvc^1Jx8JV Y>D~lEpCjTCj2*$Lfs{Zc<({SNU+uwvegFUf diff --git a/exercicios/para-casa/pacote/__pycache__/script4_atualizar_livro.cpython-312.pyc b/exercicios/para-casa/pacote/__pycache__/script4_atualizar_livro.cpython-312.pyc index 7cd36a98ca7118476c4c5be38c248ff64f0a4f94..5f76519390a686f75e44dc0ae97aa4f6fbaf2229 100644 GIT binary patch delta 49 zcmcb|dWx0zG%qg~0}!0;@=LqAk=LA&m&YYPSHU^4IJdN@D1UM);|G?AD@>7-BbizO Dc=8Yt delta 69 zcmX@bdXJU&G%qg~0}#yf@J)NUk=LA2QNbgzsHjpQAity}wMZdVAyFY9HKiy~!7Vc< Xzc@cFF=uih;|G?UD@?hQU71<|=x`Rq diff --git a/exercicios/para-casa/pacote/script2_criar_csv.py b/exercicios/para-casa/pacote/script2_criar_csv.py index bb762bb..78acaea 100644 --- a/exercicios/para-casa/pacote/script2_criar_csv.py +++ b/exercicios/para-casa/pacote/script2_criar_csv.py @@ -4,11 +4,11 @@ def criar_csv(): dados = [ ['titulo', 'autor', 'ano', 'preco'], - ['Harry Potter e a Pedra Filosofal', 'Emma Watson', 1997, 32.43], - ['Harry Potter e a Câmara Secreta', 'Emma Watson', 1998, 35.20], - ['Harry Potter e o Prisioneiro de Askaban', 'Emma Watson', 1999, 23.90], - ['Harry Potter e o Cálice de Fogo', 'Emma Watson', 2000, 29.90], - ['Harry Potter e a Ordem da Fênix', 'Emma Watson', 2003, 42.50] + ['Dom Casmurro', 'Machado de Assis', 1899, 32.43], + ['Orgulho e preconceito', 'Jane Austen', 1813, 35.20], + ['O Diário de Anne Frank', 'Anne Frank', 1947, 23.90], + ['Percy Jackson', 'Rick Riordan', 2005, 29.90], + ['Fahrenheit 451', 'Ray Bradbury', 1953, 42.50] ] with open('livros.csv', 'w', newline='') as livros_csv: diff --git a/exercicios/para-casa/pacote/script4_atualizar_livro.py b/exercicios/para-casa/pacote/script4_atualizar_livro.py index 6b2e838..13472ea 100644 --- a/exercicios/para-casa/pacote/script4_atualizar_livro.py +++ b/exercicios/para-casa/pacote/script4_atualizar_livro.py @@ -4,5 +4,5 @@ cursor = conn.cursor() def atualizar_livro(): - cursor.execute("UPDATE livros SET preco = ? WHERE titulo = ?", (32.50, 'Harry Potter e a Pedra Filosofal')) + cursor.execute("UPDATE livros SET preco = ? WHERE titulo = ?", (32.50, 'Dom Casmurro')) conn.commit() \ No newline at end of file diff --git a/exercicios/para-casa/pacote/script_pacote.py b/exercicios/para-casa/pacote/script_pacote.py index 8969fc4..2802d78 100644 --- a/exercicios/para-casa/pacote/script_pacote.py +++ b/exercicios/para-casa/pacote/script_pacote.py @@ -1,10 +1,11 @@ import csv import sqlite3 -from pacote import script1_criar_banco, script2_criar_csv, script3_consultar_livros, script4_atualizar_livro, script5_remover_livro, script6_exportar_csv +from pacote import script1_criar_banco, script2_criar_csv, script2_importar_csv, script3_consultar_livros, script4_atualizar_livro, script5_remover_livro, script6_exportar_csv funcao1 = script1_criar_banco.criar_banco() funcao2 = script2_criar_csv.criar_csv() +funcao2_2 = script2_importar_csv.importar_csv() funcao3 = script3_consultar_livros.consultar_livros() funcao4 = script4_atualizar_livro.atualizar_livro() funcao5 = script5_remover_livro.remover_livro() From 1385a16672fc8be9d2b15184a3c0172b1e41a288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=82ngela=20Colombo?= <65178899+angelasc@users.noreply.github.com> Date: Wed, 22 May 2024 21:26:36 -0300 Subject: [PATCH 4/6] Delete exercicios/para-casa/script_exercicio_casa.py --- exercicios/para-casa/script_exercicio_casa.py | 72 ------------------- 1 file changed, 72 deletions(-) delete mode 100644 exercicios/para-casa/script_exercicio_casa.py diff --git a/exercicios/para-casa/script_exercicio_casa.py b/exercicios/para-casa/script_exercicio_casa.py deleted file mode 100644 index b859dee..0000000 --- a/exercicios/para-casa/script_exercicio_casa.py +++ /dev/null @@ -1,72 +0,0 @@ -import csv -import sqlite3 - -conn = sqlite3.connect("livraria.db") -cursor = conn.cursor() - -def criar_tabela_banco(): - cursor.execute(""" - CREATE TABLE IF NOT EXISTS livros ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - titulo TEXT NOT NULL, - autor TEXT NOT NULL, - ano INTEGER NOT NULL, - preco REAL NOT NULL - ) - """) - - conn.commit() -def criar_csv(): - dados = [ - ['titulo', 'autor', 'ano', 'preco'], - ['Dom Casmurro', 'Machado de Assis', 1899, 32.43], - ['Orgulho e preconceito', 'Jane Austen', 1813, 35.20], - ['O Diário de Anne Frank', 'Anne Frank', 1947, 23.90], - ['Percy Jackson', 'Rick Riordan', 2005, 29.90], - ['Fahrenheit 451', 'Ray Bradbury', 1953, 42.50] - ] - - with open('livros.csv', 'w', newline='') as livros_csv: - escritor = csv.writer(livros_csv) - escritor.writerows(dados) -def importar_csv(): - with open('livros.csv', 'r') as livros_csv: - leitor = csv.reader(livros_csv) - next(leitor) - for linha in livros_csv: - cursor.execute("INSERT INTO livros (titulo, autor, ano, preco) VALUES (?, ?, ?, ?)", linha.split(',')) - - conn.commit() -def consultar_livros(): - cursor.execute("SELECT * FROM livros") - resultados = cursor.fetchall() - conn.commit() - for linha in resultados: - print(linha) -def atualizar_livro(): - cursor.execute("UPDATE livros SET preco = ? WHERE titulo = ?", (32.50, 'Dom Casmurro')) - conn.commit() -def remover_livro(): - cursor.execute("DELETE FROM livros WHERE id = ?", (2,)) - conn.commit() -def exportar_csv(): - cursor.execute("SELECT titulo, autor, ano, preco FROM livros") - dados = cursor.fetchall() - with open('exportados.csv', 'w', newline='') as exportados_livros: - escritor = csv.writer(exportados_livros) - escritor.writerow(['titulo', 'autor', 'ano', 'preco']) - escritor.writerows(dados) - - cursor.close() - conn.close() - -criar_tabela_banco() -criar_csv() -importar_csv() -consultar_livros() -atualizar_livro() -remover_livro() -exportar_csv() - -print("Programa concluído com sucesso!") - From 65ba9380a1feeaf2697172f583a1cf2a0b6653ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=82ngela=20Colombo?= <65178899+angelasc@users.noreply.github.com> Date: Sun, 16 Mar 2025 21:15:36 -0300 Subject: [PATCH 5/6] Update README.md --- README.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e504ceb..3f84d17 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,35 @@ logo reprograma -# Tema da Aula +# Reprograma | Bootcamp de Análise de Dados +## 🚀 Exercícios para Casa +Turma Online on29 | Semana 08 | 2024 | Professora Daviny Letícia + +Este repositório contém os exercícios desenvolvidos durante a **Semana 08** do curso de Análise de Dados da turma Online On29 da Reprograma. Os desafios foram realizados para consolidar os conhecimentos adquiridos em aula. + +## 📌 Descrição +Nesta semana, exploramos a continuidade do trabalho com bancos de dados relacionais, avançando para o uso de operações mais complexas, como joins, subconsultas e views. O objetivo foi aprofundar o uso de SQL e Python para realizar consultas mais robustas e eficazes. + +## 🎯 Objetivos do projeto +- Implementar joins entre múltiplas tabelas para combinar dados de diferentes fontes. +- Utilizar subconsultas para realizar consultas complexas. +- Criar views para facilitar a reutilização de consultas SQL. +- Integrar essas operações com Python utilizando a biblioteca sqlite3. + +## 📝 Conteúdo do Repositório +O repositório está organizado da seguinte maneira: +- banco_de_dados.db: Arquivo do banco de dados gerado e manipulado pelo código Python. +- main.py: Código principal onde as operações do banco de dados são realizadas. +- requirements.txt: Dependências do projeto (caso existam). + +## 🖥️ Tecnologias utilizadas +- Python: Linguagem de programação utilizada para interagir com o banco de dados. +- SQLite: Sistema de banco de dados relacional leve e fácil de usar. +- SQL: Linguagem para manipulação dos dados no banco de dados. + + +--- -Turma Online 0n29 | Python | Semana 8 | 2024 | Professora Daviny Letícia ### Instruções Antes de começar, vamos organizar nosso setup. From 79cd2580426e84022a7e93f8a5f15c3379813e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=82ngela=20Colombo?= <65178899+angelasc@users.noreply.github.com> Date: Sun, 16 Mar 2025 22:12:22 -0300 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f84d17..bd45862 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- logo reprograma + logo reprograma

# Reprograma | Bootcamp de Análise de Dados