Python 如何替换有序字典中的值
我正在阅读一个示例文件作为一个有序字典,并希望将某些文本(“xx”替换为“”或null)。我正在努力理解如何执行此操作。我尝试了不同的方法,最后得到了下面的代码,我不明白为什么它不起作用。必须有一个更快的方法来做到这一点-谁能帮忙吗Python 如何替换有序字典中的值,python,ordereddictionary,Python,Ordereddictionary,我正在阅读一个示例文件作为一个有序字典,并希望将某些文本(“xx”替换为“”或null)。我正在努力理解如何执行此操作。我尝试了不同的方法,最后得到了下面的代码,我不明白为什么它不起作用。必须有一个更快的方法来做到这一点-谁能帮忙吗 import csv import os my_path = os.path.abspath(__file__) print('present working directory is \n' + my_path + '\n') with open('test_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
时,它会被更新。您可以使用pandas读取.csv文件吗?