我正在阅读示例文件中的有序字典,并希望替换一些文本(用或或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
这应该做:
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
时更新。