当我读取一个csv文件,并将行的值分到一个字符串变量中时,会打印'['var'']',但我需要的只是var。
from itertools import islice
import csv
with open("test12.csv") as tl:
for row in islice(csv.reader(tl), 0, None):
rowlink = f"https://www.footballdb{row}/roster"
print(rowlink)
这段代码打印的是
https://www.footballdb['test1']/roster
https://www.footballdb['test2']/roster
[Finished in 0.047s]
我要去掉方括号和引号。
先谢谢你
我假设你的csv文件是这样的
test1
test2
而你期待的是一个简单的列表,如 ['test1', 'test2']
.
问题是csv.reader应该返回一个嵌套的列表,所以它更像是 [['test1'], ['test2']]
.
通过选择列表中的第一个项目,你应该能够得到所需的输出,作为一个字符串,而不是你目前正在打印的列表,如下所示。
from itertools import islice
import csv
with open("test12.csv") as tl:
for row in islice(csv.reader(tl), 0, None):
rowlink = f"https://www.footballdb{row[0]}/roster"
print(rowlink)
迭代器总是产生一个 列表 的值,即使该行只有一列。您打印的是整个列表(其字符串表示法包括括号0,而不仅仅是该列表的第一个元素。
with open("test12.csv") as tl:
for row in csv.reader(tl):
rowlink = f"https://www.footballdb{row[0]}/roster"
print(rowlink)