将CSV文件导入Python

将CSV文件导入Python,python,csv,Python,Csv,我正在尝试将csv文件导入Python。我这里有两个问题 Q1.我的代码是: import csv with open('highfrequency2.csv') as csvfile: freq=csv.reader(csvfile, delimiter=',') for row in freq: print(row[1],row[8]) 但这里有一条错误消息 索引器错误:列表索引超出范围 Q2.我的数据输出如下所示 ['WOSl.TQ', '02-Jan-14', '51:

我正在尝试将csv文件导入Python。我这里有两个问题

Q1.我的代码是:

import csv
with open('highfrequency2.csv') as csvfile:
  freq=csv.reader(csvfile, delimiter=',')
  for row in freq:
    print(row[1],row[8])
但这里有一条错误消息

索引器错误:列表索引超出范围

Q2.我的数据输出如下所示

['WOSl.TQ', '02-Jan-14', '51:48.0', 'Quote', '', '']
['WOSl.TQ', '02-Jan-14', '51:48.0', 'Quote', '', '']
['WOSl.TQ', '02-Jan-14', '51:48.0', 'Quote', '', '']
['WOSl.TQ', '02-Jan-14', '51:48.0', 'Quote', '', ''] 
['WOSl.TQ', '02-Jan-14', '51:48.0', 'Quote', '', '']
.....
....
在读取文件时是否必须使用“r”或“rb”函数


我想查看CSV文件的第2行和第8行。

您的行有6个元素,您正在尝试打印第2行和第9行。后者不存在,因此列表索引超出范围(索引从0开始)。

如果只需要第2-8行,请在读卡器对象上使用
itertools.islice

import csv
from itertools import islice, izip

with open('highfrequency2.csv') as csvfile:
    freq = csv.reader(csvfile)
    # create islice object
    interest = islice(freq, 1, 8, None))
    # iterate over islice object getting row at a time
    for row in interest:
       print(row)
如果只需要这两行,请使用6的
步骤:

 import csv
from itertools import islice, izip

with open('highfrequency2.csv') as csvfile:
    freq = csv.reader(csvfile)
    interest = islice(freq, 1, 8, 6))
    for row in interest:
       print(row)
或在跳过第一行后调用reader对象的next:

import csv

with open('highfrequency2.csv') as csvfile:
    freq = csv.reader(csvfile)
    next(freq)
    # create generator expression
    interest = (next(freq) for _ in range(7))
    for row in interest:
       print(row)
或使用枚举:

 import csv

with open('highfrequency2.csv') as csvfile:
    freq = csv.reader(csvfile)
    interest = (row for ind, row in enumerate(freq) if ind in {1,7})
    for row in interest:
       print(row)

嗨,非常感谢。我想我犯了一个愚蠢的错误。在excel中,行表示水平线,但在Python中,行表示垂直线。我只想看到csv数据的前几行水平线。对此我能做些什么?再次感谢。我相信freq是一个列表?我知道了,我没有验证我的假设。如果是我做这个问题,我要做的第一件事就是运行csvlint以确保csv文件是正确的。非常感谢Padraic。“再来一个。”崔斯坦孙,当然,有什么问题吗?非常感谢帕德雷克。它起作用了。再来一杯。如何以表格格式生成输出?就像我原来的表格格式一样。谢谢你的意思是csv文件吗?我使用了你的代码,并且输出都在一起。我只想逐行查看输出。有没有办法做到这一点?就像我原来的桌子。谢谢