如何替换有序字典中的值

问题描述 投票:0回答:1

我正在阅读示例文件中的有序字典,并希望替换一些文本(用或或null替换'xx'。我正在努力了解如何做到这一点。下面的代码,我不明白为什么它不起作用。必须有一种更快的方法-有人可以帮忙吗?

import csv
import os
my_path = os.path.abspath(__file__)
print('present working directory is \n' + my_path + '\n')
with open('test_xx.csv', 'r') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for line in csv_reader:
        for key, value in line.items():
            for item in value:
                if value is 'xx':
                    key[value] = ''
        print(line.values())
## test data file
Title1, Title2, Title3, Title4, Title5
1,2,3,4,5
6,7,xx,9,10
11,12,xx,14,15
16,17,18,19,10
python ordereddictionary
1个回答
1
投票

这应该做:

with open('test.csv', 'r') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for line in csv_reader:
        for key, value in line.items():
            if (value == "xx"):
                line.update({key: " "})
        print(line.values())

输出:

odict_values(['1', '2', '3', '4', '5'])
odict_values(['6', '7', ' ', '9', '10'])
odict_values(['11', '12', ' ', '14', '15'])
odict_values(['16', '17', '18', '19', '10'])

line是有序词典(针对文件中的每一行)。当其值之一等于xx时更新。

© www.soinside.com 2019 - 2024. All rights reserved.