也許有一條線缺少.
分隔符。
要查看csv.reader正在做什麼,請在其他打印語句之前添加print repr(row)
。這可能會揭示一條只被解析爲零或一個字段的行。
如果數據實際上有每行的.
分隔符,您的代碼將很好地工作:
>>> txt = '''\
tom.smith
ben.cohen
scott.friedman
michael.jones
'''.splitlines()
>>> import csv
>>> for row in csv.reader(txt, delimiter='.'):
print [item.lower() for item in [row[index] for index in (1, 0)]]
['smith', 'tom']
['cohen', 'ben']
['friedman', 'scott']
['jones', 'michael']
這可能是因爲您輸入的數據有逗號爲分隔符和要用於輸出不同的分隔符。方法如下:
>>> txt = '''\
tom,smith
ben,cohen
scott,friedman
michael,jones
'''.splitlines()
>>> for row in csv.reader(txt):
print '.'.join([item.lower() for item in [row[index] for index in (1, 0)]])
smith.tom
cohen.ben
friedman.scott
jones.michael
請問您可以發表幾條樣本?正如@cherhan所言, – cherhan
,發佈了一些樣本行。從那裏的一部分似乎是你的循環問題,而不是分隔符'。' –
如果我完全刪除分隔符,下面是一些示例行:['tom','smith'] ['ben','cohen'] ['scott','friedman'] ['michael',' jones'] – mantissa45