Hoe een lijst naar CSV te schrijven in Python

Hoe een lijst naar CSV te schrijven in Python

Als je worstelt met Python-lijsten en je afvraagt ​​hoe je ze kunt opslaan als een netjes CSV-bestand, dan ben je hier aan het juiste adres. Een van de meest voorkomende taken in Python is het schrijven van een lijst naar een door komma's gescheiden bestand, en vandaag gaan we je veranderen in een professional die CSV-bestanden tovert!

Om een ​​lijst naar CSV in Python te schrijven, kunt u een ingebouwde module genaamd csv gebruiken die speciaal is ontworpen voor het lezen en schrijven van CSV-bestanden. De klasse csv.writer van de module biedt functies voor het schrijven van eenvoudige en geneste lijsten naar CSV-bestanden.

Andere methoden om hetzelfde resultaat te krijgen, zijn onder meer het installeren en gebruiken van de externe Panda's of NumPy-modules.

In dit artikel worden de concepten uitgelegd en wordt u stap voor stap door het proces geleid met alle codevoorbeelden die u nodig hebt om aan de slag te gaan.

Laten we gaan!

Inhoudsopgave

Wat zijn lijsten in Python?

Hoe een lijst naar CSV te schrijven in Python

Een lijst in Python is een ingebouwde gegevensstructuur die wordt gebruikt om meerdere items in één variabele op te slaan.

Python-lijsten zijn:

  • besteld (beginnend bij nul).

  • veranderlijk (kan worden gewijzigd).

  • in staat om dubbele waarden op te slaan.

Lijsten worden gedefinieerd door waarden tussen vierkante haken [] te plaatsen en items worden gescheiden door komma's. De items in een lijst kunnen van elk gegevenstype zijn, zoals getallen, tekenreeksen en zelfs andere lijsten.

Hier is een voorbeeld van het maken van een eenvoudige lijst:

products = [“t-shirts”, “hoodies”, “jeans”]

Lijsten met lijsten in Python

Lijsten met lijsten worden ook wel geneste lijsten genoemd . Dit zijn lijsten die andere lijsten als hun elementen bevatten.

Ze worden vaak gebruikt in Python om gestructureerde gegevens in rijen en kolommen weer te geven. Ze worden vaak gebruikt in scenario's waarin u gerelateerde gegevens moet groeperen.

Hier is een voorbeeld van het maken van een geneste lijst die producten, prijzen en verkopen vertegenwoordigt.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

CSV-bestanden en de CSV-module in Python

CSV-bestanden vertegenwoordigen tabelgegevens in een eenvoudig bestandsformaat. Elke regel in het bestand komt overeen met een rij in de tabel. Elke waarde in de rij (of regel) wordt gescheiden door een komma — daarom wordt het formaat 'Door komma's gescheiden waarden' genoemd.

Dit is hoe een bestand met producten, prijzen en verkopen eruit zou kunnen zien in CSV-indeling:

  • t-shirts, 9,99, 342

  • hoodies, 24,99, 118

  • spijkerbroek, 29,99, 612

Hoe een lijst naar CSV te schrijven in Python

De csv- module is een ingebouwde Python-module die tools biedt voor het lezen en schrijven van gegevens in CSV-indeling. Het is vooral handig vanwege zijn eenvoud en efficiëntie.

Door de csv- module te importeren, krijgt u toegang tot de klasse csv.writer() waarmee u een schrijver-object kunt maken dat een tekenreeks met scheidingstekens naar een bestandsobject kan schrijven.

Oké, nu we de basis hebben doorgenomen, laten we in de volgende sectie eens kijken hoe je een eenvoudige lijst naar CSV kunt schrijven met behulp van Python.

Hoe een eenvoudige lijst naar CSV in Python te schrijven

De eerste techniek om te leren is voor een eenvoudig (niet-genest) lijstbestand dat er als volgt uitziet:

  • t-shirts

  • hoodies

  • jeans

Hoe een lijst naar CSV te schrijven in Python

De algemene stappen om de lijst naar een CSV-bestand te schrijven zijn:

  1. Importeer de csv- module.

  2. Maak een Python-lijst.

  3. Open een CSV-bestand in schrijfmodus.

  4. Gebruik de functie writerow() van het csv- schrijverobject.

  5. Sla het CSV-bestand op en sluit het.

De functie writerow() schrijft meerdere rijen, dwz alle gegevens naar het bestand. Hier is de code met gedetailleerde opmerkingen.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
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

Contextmanagers gebruiken

Als u niet bekend bent met de "met"-methode om met bestanden te werken, dit is een techniek die een contextmanager gebruikt die de bestandsresources beheert.

Als u het bijvoorbeeld gebruikt om CSV-bestanden te schrijven, worden de bestanden automatisch gesloten wanneer de instructie with eindigt.

Hoe een lijst met lijsten naar CSV te schrijven

Bij een lijst met lijsten moet elke binnenste lijst een CSV-rij in het bestand zijn. Dit is hoe de CSV-gegevens eruit zullen zien:

Hoe een lijst naar CSV te schrijven in Python

De algemene stappen zijn vergelijkbaar met de vorige sectie, behalve dat u de functie writerows() gebruikt in plaats van 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

In dit tweede voorbeeld wordt elke interne lijst geschreven als een aparte rij in het bestand.

Merk op dat u met de csv- module kunt voorkomen dat u de gegevensstructuur moet opsommen of doorlopen en deze rij voor rij moet schrijven.

Vervolgens bekijken we hoe u gegevens kunt toevoegen aan bestaande CSV-bestanden.

Gegevens toevoegen aan bestaande CSV-bestanden

Hoe een lijst naar CSV te schrijven in Python

Volg deze stappen om gegevens toe te voegen aan een bestaand CSV-bestand:

  1. Importeer de csv- module.

  2. Open het CSV-bestand in toevoegmodus ('a') met behulp van de with open() contextmanager.

  3. Maak een nieuwe lijst met gegevens die moeten worden toegevoegd.

  4. Maak een csv.writer() -object door het geopende bestand door te geven.

  5. Gebruik het object csv.writer() om de nieuwe lijst naar het CSV-bestand te schrijven.

Hier is een voorbeeld dat schrijft en een geneste lijst (één rij) toevoegt aan een bestaand bestand:

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)

Zorg ervoor dat u newline=” opneemt bij het openen van het bestand om ervoor te zorgen dat het CSV-bestand op verschillende platforms correct wordt geformatteerd.

In de volgende sectie bespreken we hoe u de klasse DictWriter kunt gebruiken om naar CSV-bestanden te schrijven.

DictWriter gebruiken om naar CSV-bestanden te schrijven

Hoe een lijst naar CSV te schrijven in Python

Tot nu toe hebben we geleerd hoe we lijsten naar CSV-bestanden kunnen schrijven. Python heeft echter andere datastructuren zoals woordenboeken die ook naar een CSV-bestand kunnen worden geschreven.

De klasse DictWriter() maakt ook deel uit van de csv- module. Het is vergelijkbaar met de klasse writer() maar verwerkt woordenboekgegevens.

Hier is een voorbeeld:

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)

Geavanceerde CSV-technieken in Python

Het gebruik van de csv- module is niet de enige methode om Python-lijsten als CSV-bestanden te exporteren.

Twee populaire bibliotheken die functionaliteit bieden voor deze taak zijn Pandas en NumPy .

1. Gegevens exporteren met panda's

Hoe een lijst naar CSV te schrijven in Python

Pandas is een veelgebruikte Python-bibliotheek voor gegevensmanipulatie en -analyse.

Om Python-lijsten op te slaan als een CSV-bestand, kunt u een pandas DataFrame van de lijst maken en vervolgens de to_csv() methode gebruiken, zoals hieronder getoond:

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')

Als uw gegevens niet-ASCII-tekens bevatten, moet u mogelijk de coderingsparameter instellen op een geschikte waarde, zoals 'utf-8'.

2. Hoe NumPy te gebruiken om lijsten op te slaan in CSV

Een andere bibliotheek die het overwegen waard is, is NumPy , die ondersteuning biedt voor het werken met arrays en matrices.

NumPy biedt de functie np.savetxt() als een handige methode om gegevens op te slaan in een CSV-bestand.

Hier is een voorbeeld dat laat zien hoe u een lijst kunt opslaan in een CSV-bestand met behulp van 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='')

Hier volgt een overzicht van de savetxt()- parameters:

  • scheidingsteken: specificeert het veldscheidingsteken

  • fmt-parameter: geeft het formaat aan van de gegevens die worden opgeslagen

  • %s: de tijdelijke aanduiding voor tekenreekswaarden

  • header : een lijst met kolomkoppen

  • commentaren: bepaal de karakters die commentaar beginnen in het uitvoerbestand.

Gegevens opschonen voordat u naar een bestand schrijft

Het is een goed idee om uw gegevens op te schonen voordat u ze naar tekstbestanden schrijft. Deze video geeft je de technieken die je nodig hebt:

Laatste gedachten

Het schrijven van een lijst naar een CSV-bestand in Python is een eenvoudige en effectieve manier om gegevens op te slaan en te delen. Je hebt geleerd hoe je de ingebouwde csv- module van Python kunt gebruiken om deze taak uit te voeren.

U bent nu bekend met het maken van een Python-lijst, het importeren van de csv- module, het openen van een CSV-bestand en het gebruik van de csv.writer om de lijst naar het CSV-bestand te schrijven.

U hebt ook de meer complexe scenario's geleerd van het schrijven van een lijst met lijsten naar een CSV-bestand, waarmee u tabelgegevens kunt opslaan.

Vergeet niet, zoals met alle dingen in programmeren, oefening baart kunst. Neem dus deze nieuwe kennis, speel ermee en kijk hoe het werkt met verschillende datasets en projectbehoeften.

Dit is slechts het topje van de Python-ijsberg. Er is zoveel meer te ontdekken in de uitgestrekte wereld van Python, dus stop hier niet. Maar voor vandaag, geef jezelf een schouderklopje. Je hebt met succes het beest van lijst-naar-CSV-conversie getemd!


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten