Jak napsat seznam do CSV v Pythonu

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?

Jak napsat seznam do CSV 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

Jak napsat seznam do CSV v Pythonu

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

Jak napsat seznam do CSV v Pythonu

Základní kroky k zápisu seznamu do souboru CSV jsou:

  1. Importujte modul csv .

  2. Vytvořte seznam Python.

  3. Otevřete soubor CSV v režimu zápisu.

  4. Použijte funkci writerow() objektu csv Writer .

  5. 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:

Jak napsat seznam do CSV v Pythonu

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

Jak napsat seznam do CSV v Pythonu

Chcete-li připojit data k existujícímu souboru CSV, postupujte takto:

  1. Importujte modul csv .

  2. Otevřete soubor CSV v režimu připojení ('a') pomocí kontextového manažera with open() .

  3. Vytvořte nový seznam obsahující data, která mají být připojena.

  4. Vytvořte objekt csv.writer() předáním otevřeného souboru.

  5. 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

Jak napsat seznam do CSV v Pythonu

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

Jak napsat seznam do CSV v Pythonu

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!


Vyriešte výzvu na analýzu dát s akcelerátorom LuckyTemplates

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!

Spuštění součtů v LuckyTemplates pomocí DAX

Spuštění součtů v LuckyTemplates pomocí DAX

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.

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

LuckyTemplates Dax proměnné jsou konstantní: Co to znamená?

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.

LuckyTemplates Sloping Chart: Prehľad

LuckyTemplates Sloping Chart: Prehľad

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.

Farebné motívy LuckyTemplates pre jednotné vizualizácie

Farebné motívy LuckyTemplates pre jednotné vizualizácie

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: Izolácia výsledkov cez týždeň alebo cez víkend pomocou DAX

Výpočet priemeru v LuckyTemplates: Izolácia výsledkov cez týždeň alebo cez víkend pomocou DAX

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.

Motiv LuckyTemplates | Standardní motiv LuckyTemplates Desktop

Motiv LuckyTemplates | Standardní motiv LuckyTemplates Desktop

Pojďme se ponořit do standardního motivu LuckyTemplates a prohlédnout si některé funkce zabudované do samotné aplikace LuckyTemplates Desktop.

Vizuál mapy LuckyTemplates: Ako vytvoriť a pridať vlastnú legendu v LuckyTemplates

Vizuál mapy LuckyTemplates: Ako vytvoriť a pridať vlastnú legendu v LuckyTemplates

V tomto návode sa naučíte, ako vytvoriť vlastnú legendu vo vizuáli mapy LuckyTemplates, aby ste zobrazili preferované farby a segmentáciu.

Obrázek na pozadí LuckyTemplates pro sestavy pomocí PPT

Obrázek na pozadí LuckyTemplates pro sestavy pomocí PPT

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.

Model a analýza rozhodnutí o obstarávaní v LuckyTemplates

Model a analýza rozhodnutí o obstarávaní v 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.