Sök…


Introduktion

Att skriva till en .csv-fil är inte till skillnad från att skriva till en vanlig fil i de flesta avseenden, och det är ganska enkelt. Jag kommer, efter bästa förmåga, att täcka det enklaste och mest effektiva sättet att lösa problemet.

parametrar

Parameter detaljer
öppen ( "/ path /" , "mode") Ange sökvägen till din CSV-fil
öppen (sökväg, "läge" ) Ange läge för att öppna filen i (läsa, skriva osv.)
csv.writer ( fil , avgränsare) Pass öppnade CSV-fil här
csv.writer (fil, avgränsare = '' ) Ange avgränsningstecken eller -mönster

Anmärkningar

open( path, "wb")

"wb" - Skrivläge.

Parametern b i "wb" vi har använt är nödvändig endast om du vill öppna den i binärt läge, vilket bara behövs i vissa operativsystem som Windows.

csv.writer ( csv_file, delimiter=',' )

Här är avgränsaren vi har använt , eftersom vi vill att varje datacell i rad ska innehålla förnamn, efternamn respektive ålder. Eftersom vår lista delas längs , också visar det ganska bekvämt för oss.

Grundläggande skrivexempel

import csv

#------ We will write to CSV in this function ------------

def csv_writer(data, path):
    
    #Open CSV file whose path we passed.
    with open(path, "wb") as csv_file:
        
        writer = csv.writer(csv_file, delimiter=',')
        for line in data:
            writer.writerow(line)



#---- Define our list here, and call function ------------

if __name__ == "__main__":

    """
    data = our list that we want to write. 
    Split it so we get a list of lists.
    """
    data = ["first_name,last_name,age".split(","),
            "John,Doe,22".split(","),
            "Jane,Doe,31".split(","),
            "Jack,Reacher,27".split(",")
            ]

    # Path to CSV file we want to write to.
    path = "output.csv"
    csv_writer(data, path)

Lägga till en sträng som en ny linje i en CSV-fil

def append_to_csv(input_string):
    with open("fileName.csv", "a") as csv_file:
        csv_file.write(input_row + "\n")


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow