Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Jos olet paininut Python-listojen kanssa ja miettinyt, kuinka voit tallentaa ne siistiksi CSV-tiedostoksi, olet oikeassa paikassa. Yksi Pythonin yleisimmistä tehtävistä on listan kirjoittaminen pilkuilla eroteltuun tiedostoon, ja tänään teemme sinusta CSV-tiedostojen loitsuammattilaisen!

Voit kirjoittaa luettelon CSV-tiedostoon Pythonissa käyttämällä sisäänrakennettua csv-moduulia, joka on suunniteltu erityisesti CSV-tiedostojen lukemiseen ja kirjoittamiseen. Moduulin csv.writer-luokka tarjoaa toimintoja yksinkertaisten ja sisäkkäisten luetteloiden kirjoittamiseen CSV-tiedostoihin.

Muita tapoja saada sama tulos ovat ulkoisten Pandas- tai NumPy-moduulien asentaminen ja käyttö.

Tämä artikkeli selittää käsitteet ja opastaa sinut vaihe vaiheelta läpi prosessin kaikkien koodiesimerkkien avulla, joita tarvitset aloittamiseen.

Mennään!

Sisällysluettelo

Mitä ovat Pythonin listat?

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Pythonin luettelo on sisäänrakennettu tietorakenne, jota käytetään useiden kohteiden tallentamiseen yhteen muuttujaan.

Python-listat ovat:

  • tilattu (nollasta alkaen).

  • muuttuva (voidaan muokata).

  • pystyy tallentamaan päällekkäisiä arvoja.

Listat määritellään siten, että arvot ovat hakasulkeissa [], ja kohteet erotetaan pilkuilla. Luettelon kohteet voivat olla mitä tahansa tietotyyppiä, kuten numeroita, merkkijonoja ja jopa muita luetteloita.

Tässä on esimerkki yksinkertaisen luettelon luomisesta:

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

Listat Pythonissa

Listojen luettelot tunnetaan myös sisäkkäisinä luetteloina . Nämä ovat luetteloita, jotka sisältävät muita luetteloita elementteinä.

Pythonissa niitä käytetään usein esittämään jäsenneltyä dataa riveissä ja sarakkeissa. Niitä käytetään yleisesti skenaarioissa, joissa sinun on ryhmitettävä toisiinsa liittyvät tiedot.

Tässä on esimerkki sisäkkäisen luettelon luomisesta, joka edustaa tuotteita, hintoja ja myyntiä.

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

CSV-tiedostot ja CSV-moduuli Pythonissa

CSV-tiedostot edustavat taulukkotietoja yksinkertaisessa tiedostomuodossa. Jokainen tiedoston rivi vastaa taulukon riviä. Jokainen rivin (tai rivin) arvo on erotettu pilkulla – tästä syystä muotoa kutsutaan Pilkuilla erotetuiksi arvoiksi.

Tältä tuotteita, hintoja ja myyntiä esittävä tiedosto voisi näyttää CSV-muodossa:

  • t-paidat, 9,99, 342

  • hupparit, 24,99, 118

  • farkut, 29,99, 612

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

CSV - moduuli on sisäänrakennettu Python-moduuli, joka tarjoaa työkaluja tietojen lukemiseen ja kirjoittamiseen CSV-muodossa. Se on erityisen hyödyllinen yksinkertaisuutensa ja tehokkuutensa vuoksi.

Tuomalla csv- moduulin saat pääsyn csv.writer()- luokkaan, jonka avulla voit luoda kirjoitusobjektin, joka voi kirjoittaa rajatun merkkijonon tiedostoobjektiin.

Selvä, nyt kun olemme käyneet perusasiat läpi, katsotaanpa seuraavassa osiossa, kuinka voit kirjoittaa yksinkertaisen luettelon CSV-tiedostoon Pythonilla.

Kuinka kirjoittaa yksinkertainen luettelo CSV-tiedostoon Pythonissa

Ensimmäinen opittava tekniikka on yksinkertainen (ei sisäkkäinen) luettelotiedosto, joka näyttää tältä:

  • t-paitoja

  • huppareita

  • farkut

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Laajat vaiheet luettelon kirjoittamiseksi CSV-tiedostoon ovat:

  1. Tuo csv- moduuli.

  2. Luo Python-luettelo.

  3. Avaa CSV-tiedosto kirjoitustilassa.

  4. Käytä csv- kirjoitusobjektin writerow()- funktiota .

  5. Tallenna ja sulje CSV-tiedosto.

Writerow () -funktio kirjoittaa useita rivejä, eli kaikki tiedot tiedostoon. Tässä koodi yksityiskohtaisilla kommenteilla.

# 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

Kontekstinhallintaohjelmien käyttö

Jos et tunne "kanssa" -menetelmää tiedostojen käsittelyssä, tämä on tekniikka, joka käyttää kontekstinhallintaa, joka hallitsee tiedostoresursseja.

Kun käytät sitä esimerkiksi CSV-tiedostojen kirjoittamiseen, tiedostot suljetaan automaattisesti, kun with-käsky päättyy.

Kuinka kirjoittaa luettelo luetteloista CSV-tiedostoon

Kun luettelo on luettelo, jokaisen sisemmän luettelon tulee olla CSV-rivi tiedostossa. CSV-tiedot näyttävät tältä:

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Laajat vaiheet ovat samanlaisia ​​kuin edellisessä osiossa, paitsi että käytät writerows()- funktiota writerow() -funktion sijaan .

# 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

Tässä toisessa esimerkissä jokainen sisäinen luettelo kirjoitetaan tiedostoon erilliseksi riviksi.

Huomaa, että csv- moduulin avulla voit välttää tietorakenteen kirjoittamisen rivi riviltä tai sen läpi.

Seuraavaksi tarkastellaan, kuinka voit liittää tietoja olemassa oleviin CSV-tiedostoihin.

Tietojen liittäminen olemassa oleviin CSV-tiedostoihin

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Voit lisätä tietoja olemassa olevaan CSV-tiedostoon seuraavasti:

  1. Tuo csv- moduuli.

  2. Avaa CSV-tiedosto lisäystilassa ('a') käyttämällä open() -kontekstinhallintaa.

  3. Luo uusi luettelo, joka sisältää liitettävät tiedot.

  4. Luo csv.writer()- objekti välittämällä avattu tiedosto.

  5. Kirjoita uusi luettelo CSV-tiedostoon csv.writer() -objektilla.

Tässä on esimerkki, jossa kirjoitus lisää sisäkkäisen luettelon (yksi rivi) olemassa olevaan tiedostoon:

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)

Varmista, että CSV-tiedosto on muotoiltu oikein eri alustoilla, kun avaat tiedoston, lisää rivinvaihto = " .

Seuraavassa osiossa käsittelemme kuinka voit käyttää DictWriter- luokkaa CSV-tiedostoihin kirjoittamiseen.

DictWriterin käyttäminen CSV-tiedostoihin kirjoittamiseen

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Tähän mennessä olemme oppineet kirjoittamaan luetteloita CSV-tiedostoihin. Pythonilla on kuitenkin muita tietorakenteita, jotka voidaan myös kirjoittaa CSV-tiedostoon.

DictWriter () -luokka on myös osa csv- moduulia. Se on samanlainen kuin writer() -luokka, mutta se käsittelee sanakirjatietoja.

Tässä on esimerkki:

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)

Kehittyneet CSV-tekniikat Pythonissa

CSV- moduulin käyttö ei ole ainoa tapa viedä Python-luetteloita CSV-tiedostoina.

Kaksi suosittua kirjastoa, jotka tarjoavat toimintoja tähän tehtävään, ovat Pandas ja NumPy .

1. Tietojen vieminen pandoille

Kuinka kirjoittaa luettelo CSV-tiedostoon Pythonissa

Pandas on laajalti käytetty Python-kirjasto tietojen käsittelyyn ja analysointiin.

Python-luetteloiden tallentamiseksi CSV-tiedostona voit luoda luettelosta pandas DataFramen ja käyttää sitten to_csv()- menetelmää alla olevan kuvan mukaisesti:

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

Jos tiedoissasi on muita kuin ASCII-merkkejä, sinun on ehkä asetettava koodausparametrille sopiva arvo, kuten "utf-8".

2. NumPyn käyttäminen luetteloiden tallentamiseen CSV-tiedostoon

Toinen harkitsemisen arvoinen kirjasto on se, joka tukee taulukoiden ja matriisien kanssa työskentelyä.

NumPy tarjoaa np.savetxt()- toiminnon kätevänä tapana tallentaa tietoja CSV-tiedostoon.

Tässä on esimerkki luettelon tallentamisesta CSV-tiedostoon NumPyn avulla:

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

Tässä on erittely savetxt()- parametreista:

  • erotin: määrittää kentän erottimen

  • fmt-parametri: ilmaisee tallennettavien tietojen muodon

  • %s: merkkijonoarvojen paikkamerkki

  • header : luettelo sarakeotsikoista

  • kommentit: ohjaa merkkejä, jotka aloittavat kommentit tulostiedostossa.

Kuinka puhdistaa tiedot ennen tiedostoon kirjoittamista

Tietosi kannattaa puhdistaa ennen kuin kirjoitat ne tekstitiedostoihin. Tämä video antaa sinulle tarvitsemasi tekniikat:

Lopulliset ajatukset

Listan kirjoittaminen CSV-tiedostoon Pythonissa on yksinkertainen ja tehokas tapa tallentaa ja jakaa tietoja. Olet oppinut käyttämään Pythonin sisäänrakennettua csv- moduulia tämän tehtävän suorittamiseen.

Olet nyt perehtynyt Python-luettelon luomiseen, csv- moduulin tuomiseen, CSV-tiedoston avaamiseen ja csv.writerin käyttämiseen luettelon kirjoittamiseen CSV-tiedostoon.

Opit myös monimutkaisemmat vaihtoehdot luetteloluettelon kirjoittamisesta CSV-tiedostoon, jonka avulla voit tallentaa taulukkomuotoisia tietoja.

Älä unohda, että kuten kaikki ohjelmoinnin asiat, harjoitus tekee mestarin. Joten ota tämä uusi tieto, leiki sen kanssa ja katso, kuinka se toimii erilaisten tietojoukkojen ja projektitarpeiden kanssa.

Tämä on vain Python-jäävuoren huippu. Pythonin valtavassa maailmassa on niin paljon muuta tutkittavaa, joten älä pysähdy tähän. Mutta tänään taputa itseäsi selkään. Olet onnistuneesti kesyttänyt luettelosta CSV:ksi muuntamisen pedon!


Päivämäärätaulukon luominen LuckyTemplatesissa

Päivämäärätaulukon luominen LuckyTemplatesissa

Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.