Vyriešte výzvu na analýzu dát s akcelerátorom LuckyTemplates
Zdokonaľte svoje zručnosti v oblasti vývoja zostáv zapojením sa do výzvy v oblasti analýzy údajov. Accelerator vám môže pomôcť stať sa super používateľom LuckyTemplates!
Pokud jste se potýkali s Pythonovými seznamy a přemýšleli jste, jak je můžete uložit jako úhledný soubor CSV, jste na správném místě. Jedním z nejběžnějších úkolů v Pythonu je napsat seznam do souboru odděleného čárkami a dnes z vás uděláme profesionála na vytváření souborů CSV!
Chcete-li zapsat seznam do CSV v Pythonu, můžete použít vestavěný modul nazvaný csv, který je navržen speciálně pro čtení a zápis souborů CSV. Třída csv.writer modulu poskytuje funkce pro zápis jednoduchých a vnořených seznamů do souborů CSV.
Další způsoby, jak dosáhnout stejného výsledku, zahrnují instalaci a používání externích modulů Pandas nebo NumPy.
Tento článek vysvětlí pojmy a krok za krokem vás provede celým procesem se všemi příklady kódu, které potřebujete, abyste mohli začít.
Pojďme!
Obsah
Co jsou seznamy v Pythonu?
Seznam v Pythonu je vestavěná datová struktura, která se používá k ukládání více položek do jedné proměnné.
Seznamy Pythonu jsou:
objednané (počínaje nulou).
proměnlivé (lze upravit).
možnost ukládat duplicitní hodnoty.
Seznamy jsou definovány tak, že mají hodnoty v hranatých závorkách [] a položky jsou odděleny čárkami. Položky v seznamu mohou být libovolného datového typu, jako jsou čísla, řetězce a dokonce i jiné seznamy.
Zde je příklad vytvoření jednoduchého seznamu:
products = [“t-shirts”, “hoodies”, “jeans”]
Seznamy seznamů v Pythonu
Seznamy seznamů jsou také známé jako vnořené seznamy . Jedná se o seznamy, které jako své prvky obsahují další seznamy.
Často se v Pythonu používají k reprezentaci strukturovaných dat v řádcích a sloupcích. Běžně se používají ve scénářích, kde potřebujete seskupit související data.
Zde je příklad vytvoření vnořeného seznamu, který představuje produkty, ceny a prodeje.
product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]
Soubory CSV a modul CSV v Pythonu
Soubory CSV představují tabulková data v jednoduchém formátu souboru. Každý řádek v souboru odpovídá řádku v tabulce. Každá hodnota v řádku (nebo řádku) je oddělena čárkou – proto se tento formát nazývá „hodnoty oddělené čárkami“.
Takto by mohl vypadat soubor představující produkty, ceny a prodeje ve formátu CSV:
trička, 9,99, 342
mikiny, 24,99, 118
džíny, 29,99, 612
Modul csv je vestavěný modul Pythonu, který poskytuje nástroje pro čtení a zápis dat ve formátu CSV. Je to užitečné zejména díky své jednoduchosti a účinnosti.
Importováním modulu csv získáte přístup ke třídě csv.writer() , která vám umožní vytvořit objekt Writer, který může zapisovat oddělovací řetězec do objektu souboru.
Dobře, teď, když jsme prošli základy, se v další části podíváme na to, jak můžete napsat jednoduchý seznam do CSV pomocí Pythonu.
Jak napsat jednoduchý seznam do CSV v Pythonu
První technikou, kterou se musíte naučit, je jednoduchý (nevnořený) soubor seznamu, který vypadá takto:
trička
mikiny s kapucí
džíny
Základní kroky k zápisu seznamu do souboru CSV jsou:
Importujte modul csv .
Vytvořte seznam Python.
Otevřete soubor CSV v režimu zápisu.
Použijte funkci writerow() objektu csv Writer .
Uložte a zavřete soubor CSV.
Funkce writerow () zapíše více řádků, tj. všechna data do souboru. Zde je kód s podrobnými komentáři.
# Step 1: Importing the CSV module
import csv
# Step 2: Creating a
my_list = ["t-shirts", "hoodies", "jeans"]
# Step 3: Opening a CSV file in write mode
with open('products.csv', 'w', newline='') as file:
# Step 4: Using csv.writer to write the list to the CSV file
writer = csv.writer(file)
writer.writerow(my_list) # Use writerow for single list
# Step 5: The file is automatically closed when exiting the 'with' block
Použití kontextových manažerů
Pokud neznáte metodu práce se soubory „s“, jedná se o techniku, která používá kontextového manažera, který spravuje prostředky souborů.
Když jej například použijete k zápisu souborů CSV, soubory se automaticky uzavřou, když skončí příkaz with.
Jak napsat seznam seznamů do CSV
U seznamu seznamů by měl být každý vnitřní seznam řádkem CSV v souboru. Takto budou vypadat data CSV:
Obecné kroky jsou podobné jako v předchozí části kromě toho, že místo writerow () použijete funkci writerow() .
# Step 1: Importing the CSV module
import csv
# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]
# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
# Step 4: Using csv.writer to write the list to the CSV file
writer = csv.writer(file)
writer.writerows(my_list) # Use writerows for nested list
# Step 5: The file is automatically closed when exiting the 'with' bloc
V tomto druhém příkladu je každý vnitřní seznam zapsán jako samostatný řádek v souboru.
Všimněte si, že modul csv vám umožní vyhnout se nutnosti nebo přes datovou strukturu a zapisovat ji řádek po řádku.
Dále se podíváme na to, jak můžete připojit data ke stávajícím souborům CSV.
Jak připojit data ke stávajícím souborům CSV
Chcete-li připojit data k existujícímu souboru CSV, postupujte takto:
Importujte modul csv .
Otevřete soubor CSV v režimu připojení ('a') pomocí kontextového manažera with open() .
Vytvořte nový seznam obsahující data, která mají být připojena.
Vytvořte objekt csv.writer() předáním otevřeného souboru.
Pomocí objektu csv.writer() zapište nový seznam do souboru CSV.
Zde je příklad, který zápisem přidá vnořený seznam (jeden řádek) do existujícího souboru:
import csv
new_row = [["leggings", 22.99, 483]]
with open('product_sales.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerows(new_row)
Ujistěte se, že jste při otevírání souboru zahrnuli newline=" , abyste zajistili správné formátování souboru CSV na různých platformách.
V další části se budeme zabývat tím, jak můžete použít třídu DictWriter k zápisu do souborů CSV.
Jak používat DictWriter k zápisu do souborů CSV
Zatím jsme se naučili zapisovat seznamy do souborů CSV. Python má však další datové struktury, jako je tato, která může být také zapsána do souboru CSV.
Třída DictWriter () je také součástí modulu csv . Je podobná třídě Writer() , ale zpracovává data ze slovníku.
Zde je příklad:
import csv
product_sales_dict = [
{"product": "t-shirts", "price": 9.99, "sales": 342},
{"product": "hoodies", "price": 24.99, "sales": 118},
{"product": "jeans", "price": 29.99, "sales": 612}
]
fieldnames = ["product", "price", "sales"]
with open("dictionary.csv", "w", newline="") as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(product_sales_dict)
Pokročilé techniky CSV v Pythonu
Použití modulu csv není jedinou metodou exportu seznamů Pythonu jako souborů CSV.
Dvě oblíbené knihovny, které poskytují funkce pro tento úkol, jsou Pandas a NumPy .
1. Jak exportovat data pomocí Pandy
Pandas je široce používaná knihovna Pythonu pro manipulaci a analýzu dat.
Chcete-li uložit seznamy Pythonu jako soubor CSV, můžete ze seznamu vytvořit pandas DataFrame a poté použít metodu to_csv() , jak je uvedeno níže:
import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')
Pokud vaše data obsahují znaky jiné než ASCII, možná budete muset nastavit parametr kódování na vhodnou hodnotu, například „utf-8“.
2. Jak používat NumPy k ukládání seznamů do CSV
Další knihovna, která stojí za zvážení, je ta, která poskytuje podporu pro práci s poli a maticemi.
NumPy nabízí funkci np.savetxt() jako pohodlnou metodu ukládání dat do souboru CSV.
Zde je příklad, jak uložit seznam do souboru CSV pomocí NumPy:
import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')
Zde je rozpis parametrů savetxt() :
oddělovač: určuje oddělovač pole
parametr fmt: udává formát ukládaných dat
%s: zástupný symbol pro hodnoty řetězce
záhlaví : seznam záhlaví sloupců
komentáře: ovládání znaků, které začínají komentáře ve výstupním souboru.
Jak vyčistit data před zápisem do souboru
Před zápisem do textových souborů je dobré data vyčistit. Toto video vám poskytne potřebné techniky:
Závěrečné myšlenky
Zápis seznamu do souboru CSV v Pythonu je jednoduchý a efektivní způsob ukládání a sdílení dat. Naučili jste se používat k provedení tohoto úkolu vestavěný modul csv v Pythonu.
Nyní jste obeznámeni s vytvářením seznamu Python, importováním modulu csv , otevíráním souboru CSV a používáním nástroje csv.writer k zápisu seznamu do souboru CSV.
Naučili jste se také složitější scénáře psaní seznamu seznamů do souboru CSV, který umožňuje ukládat tabulková data.
Nezapomeňte, že stejně jako všechny věci v programování, praxe dělá mistra. Vezměte si tedy tyto nově nalezené znalosti, pohrajte si s nimi a podívejte se, jak to funguje s různými datovými sadami a potřebami projektů.
Toto je jen špička ledovce Pythonu. V rozsáhlém světě Pythonu je toho k prozkoumání mnohem víc, takže zde nezastavujte. Ale pro dnešek se poplácejte po zádech. Úspěšně jste zkrotili bestii převodu seznamu do CSV!
Zdokonaľte svoje zručnosti v oblasti vývoja zostáv zapojením sa do výzvy v oblasti analýzy údajov. Accelerator vám môže pomôcť stať sa super používateľom LuckyTemplates!
Naučte se, jak vypočítat průběžné součty v LuckyTemplates pomocí DAX. Průběžné součty vám umožní nezabřednout do žádného jednotlivého výsledku.
Pochopte koncept proměnných v jazyce DAX v rámci LuckyTemplates a důsledky proměnných pro způsob výpočtu vašich mír.
Získajte viac informácií o vlastnom vizuáli nazývanom graf LuckyTemplates Slope, ktorý sa používa na zobrazenie nárastu/zníženia pre jednu alebo viacero metrík.
Objavte farebné motívy v LuckyTemplates. Sú nevyhnutné, aby vaše zostavy a vizualizácie vyzerali a fungovali bez problémov.
Výpočet priemeru v LuckyTemplates možno vykonať mnohými spôsobmi, aby ste získali presné informácie pre vaše obchodné správy.
Pojďme se ponořit do standardního motivu LuckyTemplates a prohlédnout si některé funkce zabudované do samotné aplikace LuckyTemplates Desktop.
V tomto návode sa naučíte, ako vytvoriť vlastnú legendu vo vizuáli mapy LuckyTemplates, aby ste zobrazili preferované farby a segmentáciu.
Naučte se, jak nastavit obrázek na pozadí LuckyTemplates pomocí PowerPointu. Toto je jedna z mých technik při vytváření sestav LuckyTemplates.
V tomto návode sa ponoríme do analýzy obstarávania v rámci organizácie pomocou interakčnej funkcie a sily dátového modelu.