建立並讀取 csv

電子表格通常會匯出為 CSV 檔案,因為它們易於讀寫。csv 檔案只包含值,逗號(或其他分隔符)和換行符。雖然該檔名為 comma seperated value 檔案,但你可以使用另一個分隔符,例如製表符 \t 等。

用 Python 建立電子表格檔案(CSV)

讓我們用 Python 建立一個 CSV 格式的檔案。我們將逗號字元用作分隔符或分隔符。

import csv
 
with open('persons.csv', 'wb') as csvfile:
    filewriter = csv.writer(csvfile, delimiter=',',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    filewriter.writerow(['Name', 'Profession'])
    filewriter.writerow(['Derek', 'Software Developer'])
    filewriter.writerow(['Steve', 'Software Developer'])
    filewriter.writerow(['Paul', 'Manager'])

執行此程式碼將為我們提供以下內容:

Name,Profession
Derek,Software Developer
Steve,Software Developer
Paul,Manager

你可以在你喜歡的辦公程式中匯入 persons.csv 檔案。

![用 Python 建立的電子表格檔案](/img/Tutorial/Python Database/csv.png)

讀取電子表格檔案(csv)

如果你建立了一個 csv 檔案,我們可以使用以下程式碼逐行讀取檔案:

import csv
 with open('persons.csv', 'rb') as f:
    reader = csv.reader(f)
 
    # read file row by row
    for row in reader:
        print row

這將只顯示每一行作為列表:

['Name', 'Profession']
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']

也許你想將它儲存到 Python 列表中。我們從 csv 檔案中獲取資料,然後將其儲存到 Python 列表中。我們使用 if 語句跳過標頭,因為它不屬於列表。完整程式碼:

import csv
 names = []
jobs = []
 with open('persons.csv', 'rb') as f:
    reader = csv.reader(f)
 
    # read file row by row
    rowNr = 0
    for row in reader:
        # Skip the header row.
        if rowNr >= 1:
            names.append(row[0])
            jobs.append(row[1])
 
        # Increase the row number
        rowNr = rowNr + 1
 print names
print jobs

結果:

['Derek', 'Steve', 'Paul']
['Software Developer', 'Software Developer', 'Manager']

大多數電子表格或辦公程式都可以匯出 csv 檔案,因此我們建議你建立任何型別的 csv 檔案並使用它來玩🙂。