我想获取存储在csv文件中的img文件路径字典的列表,如下所示: 这是我在excel中输出的csv文件的图片:
这是我的代码:
def read_cell(filelocation,column_name,row_index):
with open(filelocation, 'r',encoding="utf8") as f:
reader = csv.DictReader(f,delimiter=',')
y_count = 1
for n in reader:
if y_count == row_index:
cell = n[column_name]
return cell
y_count += 1
id_item="1812242028"
img_list_query=[]
for row in range(100):
product_id=read_cell(img_file,"PRODUCT_ID",row)
if product_id==id_item:
img_list_query.append(read_cell(img_file,"IMG_FILE_NAME",row))
print(img_list_query)
上述代码的结果:
['C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_0', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_1', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_2', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_3', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_4', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_5', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_6', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_7', 'C:\\\\Users\\\\admin\\\\Desktop\\\\set-5-goi-mat-na-trai-cay-duong-da-real-nature-mask_8']
我不知道为什么“ \”变成“ \\”?
请给我一些有关此问题的说明及其解决方案?谢谢!
答案 0 :(得分:1)
\
是“ escape character”。这意味着下一个字符是“特殊”。它允许字符串包含否则很难表示的特殊字符。例如,\n
表示“换行”,\t
表示“水平制表符”。那么如何代表一个\
呢?您使用\\
,实际上是\
。
\
是因为它是一个不寻常的字符。不幸的是,早在1981年,Microsoft就选择\
作为其MS-DOS的路径定界符。在将近40年后,Windows保留了这一传统,因此Windows路径通常使用多个\
字符进行修饰。诀窍是只转义一次-因此在创建字符串时,\
应该变成\\
以保护它。从那里不应该再次逃脱。当您看到\\\\
时,转义已执行了两次。