CSV和JSON都是常用的數據交換格式,為了更方便地處理數據,有時需要將CSV格式轉換為JSON格式,或者將JSON格式轉換為CSV格式。下面是使用Python進行CSV與JSON格式相互轉換的方法。
首先,我們需要使用Python中的csv庫和json庫來進行數據的讀取與寫入。以下是CSV轉換為JSON的代碼:
import csv import json csvFilePath = "data.csv" jsonFilePath = "data.json" # 讀取CSV數據 data = [] with open(csvFilePath, newline='', encoding='utf-8') as csvFile: reader = csv.DictReader(csvFile) for row in reader: data.append(row) # 寫入JSON數據 with open(jsonFilePath, 'w', encoding='utf-8') as jsonFile: jsonFile.write(json.dumps(data, indent=4, ensure_ascii=False))
以上代碼首先讀取CSV文件,并將其轉換為Python的字典列表。接著,使用json庫將字典列表寫入JSON文件。其中,dumps()函數用于將Python對象轉換為JSON格式的字符串,indent參數表示輸出格式的縮進程度,ensure_ascii參數表示是否使用ASCII編碼。
接下來,我們看一下如何將JSON格式轉換為CSV格式:
import csv import json csvFilePath = "data.csv" jsonFilePath = "data.json" # 讀取JSON數據 with open(jsonFilePath, encoding='utf-8') as jsonFile: data = json.load(jsonFile) # 獲取表頭 header = data[0].keys() # 寫入CSV數據 with open(csvFilePath, 'w', newline='', encoding='utf-8') as csvFile: writer = csv.DictWriter(csvFile, fieldnames=header) writer.writeheader() for row in data: writer.writerow(row)
以上代碼首先讀取JSON文件,并使用json庫將JSON格式轉換為Python的字典列表。接著,使用csv庫將字典列表轉換為CSV格式的數據。其中,DictWriter類用于寫入CSV文件,fieldnames參數表示CSV文件的表頭。
通過以上方法,我們可以在Python中輕松地進行CSV與JSON格式的相互轉換。