我有两个格式如下的 csv 文件:
第一个文件(data.csv):-
1,red 3,blue 4,green 2,gray 5,black
第二个文件(text.csv):-
1 3 2 4
我的目标是读取第二个文件 (text.csv) 并将数字可能存储在列表中。然后我想在第一个文件 (data.csv) 中找到与这些数字对应的颜色。
因此,我的最终输出应该类似于:
1,red 2,gray 3,blue 4,green
我想考虑使用字典,但似乎无法理解我将如何去做。
请您参考如下方法:
使用csv 模块可以让您省去一些麻烦;尝试
import csv
import sys
# version compatibility shim!
if sys.hexversion < 0x3000000:
# Python 2.x
opencsv = lambda f: open(f, mode="rb")
else:
# Python 3.x
opencsv = lambda f: open(f, newline="")
# read color data to a dictionary
with opencsv("data.csv") as inf:
color = {int(num):col for num,col in csv.reader(inf)}
# do translation
with opencsv("text.csv") as inf:
for num, in csv.reader(inf):
num = int(num)
print("{},{}".format(num, color[num]))
产生
1,red
3,blue
2,gray
4,green
(与 text.csv 文件的顺序相同)
