【发布时间】:2021-02-23 19:33:20
【问题描述】:
我正在尝试获取一个 csv 文件并对其进行迭代,并且只获取具有蓝色类别的行并将其写入 JSON 文件。到目前为止,我已经创建了一个程序,它获取所有 csv 行并写入 JSON 文件。我不太确定如何仅选择具有特定值的某些 csv 行。 这是具有此输出的程序
import csv
import json
def csv_to_json(csvFilePath, jsonFilePath):
jsonArray = []
with open(csvFilePath, encoding='utf-8') as csvf:
csvReader = csv.DictReader(csvf)
for row in csvReader:
jsonArray.append(row)
with open(jsonFilePath, 'w', encoding='utf-8') as jsonf:
jsonString = json.dumps(jsonArray, indent=4)
jsonf.write(jsonString)
csvFilePath = r'csv_example.csv'
jsonFilePath = r'reader.json'
csv_to_json(csvFilePath, jsonFileP
输出:
[
{
"id": "1",
"category": "blue",
"password": "hi"
},
{
"id": "2",
"category": "red",
"password": "no"
},
{
"id": "3",
"category": "blue",
"password": "lol"
},
{
"id": "4",
"category": "yellow",
"password": "yo"
},
{
"id": "5",
"category": "yellow",
"password": "sup"
},
{
"id": "6",
"category": "orange",
"password": "hello"
},
{
"id": "7",
"category": "blue",
"password": "yeah"
}
]
以这个csv文件为例
"id","category","password"
"1","blue","hi"
"2","red","no"
"3","blue","lol"
"4","yellow","yo"
"5","yellow","sup"
"6","orange","hello"
"7","blue","yeah"
我将如何做到这一点,以便仅将具有蓝色类别的行写入 JSON 文件。我试过了
if row.category == 'blue'
但这显然行不通
【问题讨论】:
标签: json python-3.x csv read-write