如何在 Python 中把列表寫入 CSV

Azaz Farooq 2023年1月30日 2020年11月7日
  1. 在 Python 中使用 csv.writer() 方法將列表寫成 CSV
  2. 在 Python 中使用引號方法將列表寫入 CSV 中
  3. 使用 Python 中的 pandas 方法將列表寫入 CSV 中
  4. 在 Python 中使用 NumPy 方法把列表寫成 CSV 檔案
如何在 Python 中把列表寫入 CSV

CSV 檔案可以將資料以表格的形式儲存。這些資料是一個簡單的文字,每一行資料稱為記錄,每一行可以用逗號分隔。

本文將討論用 Python 將列表寫入 CSV 的不同方法。

在 Python 中使用 csv.writer() 方法將列表寫成 CSV

我們先匯入 csv 模組。

import csv

假設我們把下面的條目寫入 CSV 檔案。

RollNo,Name,Subject
1,ABC,Economics
2,TUV,Arts
3,XYZ,Python

現在,完整的示例程式碼如下。

import csv

with open('students.csv', 'w', newline='') as student_file:
    writer = csv.writer(student_file)
    writer.writerow(["RollNo", "Name", "Subject"])
    writer.writerow([1, "ABC", "Economics"])
    writer.writerow([2, "TUV", "Arts"])
    writer.writerow([3, "XYZ", "Python"])

如果你執行上面的程式碼,students.csv 檔案將在當前目錄下按行建立,其中有程式碼中出現的條目。csv.writer() 函式將建立 writer() 物件,writer.writerow() 命令將條目逐行插入 CSV 檔案。

在 Python 中使用引號方法將列表寫入 CSV 中

在本方法中,我們將看到如何在 CSV 檔案中寫入帶引號的值。完整的示例程式碼如下。

import csv
list = [["RN", "Name", "GRADES"],
    [1, 'ABC', 'A'],
    [2, 'TUV', 'B'],
    [3, 'XYZ', 'C']]
with open('studentgrades.csv', 'w', newline='') as file:
    writer = csv.writer(file, quoting=csv.QUOTE_ALL,delimiter=';')
    writer.writerows(list)

在當前目錄下建立 studentgrades.csv 檔案。csv.QUOTE_ALL() 函式在所有條目上使用雙引號,並使用分隔符 ; 進行分隔。

輸出:

RN;"Name";"GRADES"
1;"ABC";"A"
2;"TUV";"B"
3;"XYZ";"C"

使用 Python 中的 pandas 方法將列表寫入 CSV 中

這個方法使用了 Pandas 庫,它擁有一個完整的資料框架。如果你的電腦上沒有安裝這個庫,你可以使用一個叫做 Google Colab 的線上工具。

完整的示例程式碼如下。

import pandas as pd
name = ["ABC", "TUV", "XYZ", "PQR"] 
degree = ["BBA", "MBA", "BSC", "MSC"] 
score = [98, 90, 88, 95] 	
dict = {'name': name, 'degree': degree, 'score': score} 
df = pd.DataFrame(dict) 
df.to_csv('test.csv')

輸出:

	name	degree	score
0	ABC	    BBA	     98
1	TUV	    MBA	     90
2	XYZ	    BSC	     88
3	PQR	    MSC	     95

這個方法將 Python 列表作為資料框架寫入 CSV 檔案。

在 Python 中使用 NumPy 方法把列表寫成 CSV 檔案

這個方法使用 NumPy 庫在 Python 中把一個列表儲存到 CSV 檔案中。完整的示例程式碼如下。

import numpy as np 
list_rows = [ ['ABC', 'COE', '2', '9.0'],['TUV', 'COE', '2', '9.1'], ['XYZ', 'IT', '2', '9.3'],['PQR', 'SE', '1', '9.5']]  
np.savetxt("numpy_test.csv", list_rows, delimiter =",",fmt ='% s')

NumPy 庫的 savetxt() 函式將從 Python 列表中寫入一個 CSV 檔案。

輸出:

ABC	 COE	2	9
TUV	 COE	2	9.1
XYZ	 IT	2	9.3
PQR	 SE	1	9.5

相關文章 - Python CSV

相關文章 - Python List