Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 只打印所需的列_Python_Python 3.x_Csv - Fatal编程技术网

Python 只打印所需的列

Python 只打印所需的列,python,python-3.x,csv,Python,Python 3.x,Csv,我只想在打印时显示所需的列。原始数据如下所示 ['*10 6cb2.aeee.0db7动态300华氏度Po11'] 我想打印“10”、“6cb2.aeee.0db7”和“Po11” with open('c:/sw_mac_addr/test.txt', newline='') as f: reader = csv.reader(f, delimiter='\t', quoting=csv.QUOTE_NONE) for row in reader: print(

我只想在打印时显示所需的列。原始数据如下所示

['*10 6cb2.aeee.0db7动态300华氏度Po11']

我想打印“10”、“6cb2.aeee.0db7”和“Po11”

with open('c:/sw_mac_addr/test.txt', newline='') as f:
    reader = csv.reader(f, delimiter='\t', quoting=csv.QUOTE_NONE)
    for row in reader:
        print(row)
您可以通过列表使用和提供列索引。这也适用于负指数:

from io import StringIO
import csv
from operator import itemgetter

x = StringIO("""*\t10\t6cb2.aeee.0db7\tdynamic\t300\tF\tF\tPo11""")
cols = [1, 2, -1]

# replace x with open('file.txt', 'r', newline='')
with x as fin:
    reader = csv.reader(fin, delimiter='\t', quoting=csv.QUOTE_NONE)
    for row in reader:
        print(itemgetter(*cols)(row))

('10', '6cb2.aeee.0db7', 'Po11')

不确定StringIO应该是什么变量。请参阅我的注释:
#用open('file.txt',r',newline='')替换x
StringIO
是一个方便的函数,因此可以在不保存/加载外部文件的情况下演示代码。请参见此,但我知道它是错误的。open('c:/sw\u mac\u addr/test2.txt','r',newline='')=StringIO(“*\tVLAN\tMAC Address\tType\tage\tSecure\tNTFY\tPorts/SWID.SSID.LID”“”)cols=[1,2,7]带open('c:/sw\u mac\u addr/test2.txt',newline='')作为f:reader=csv.reader(f,delimiter='\t',quoting=csv.QUOTE\n)用于reader:print中的行:print(itemgetter(*cols)(row))我不知道itemgetter,nice,thks。打印({}{}{}.format(数据[0]。拆分()[1],数据[0]。拆分()[2],数据[0]。拆分()[-1])有什么问题。?
lines=open("Practice.txt",'r')

for line in lines.readlines():
    tokens=line.split(" ")
print(tokens[1],tokens[2],tokens[-1])