Python如何在csv-fi中从第3行读取第2列

2024-04-27 03:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须解析一个csv文件,文件中的第一个有用信息位于第三行和第二列。在

以下是我迄今为止所做工作的一个片段:

f = open(filename, r)
reader = csv.reader(f, delimeter=';')
i=0
for row in reader:
    if (i == 2):
        useful_data  = row[2]
        break
    else:
        i += 1

但我不喜欢这种方法。有谁能提出更好的方法吗?在


Tags: 文件csv方法in信息fordataif
3条回答

你到底不喜欢什么?我认为更好的版本应该是:

with open(filename, 'r') as f:
    reader = csv.reader(f, delimiter=';')
    for i, row in enumerate(reader):
        if i == 2:
            useful_data = row[2]
            break

不要使用for循环,然后再使用break,对文件使用next进行手动迭代

只需在csv阅读器上使用next跳过任意多行,然后最后使用next并选择所需的列:

with open(filename) as f:
    reader = csv.reader(f, delimiter=';')
    # skip 2 rows
    for _ in range(2):
        next(reader)

    useful_data = next(reader)[2]

itertools.islice可以简化这里的内容:

with open(filename) as f:
    reader = csv.reader(f, delimiter=';')
    useful_data = next(islice(reader, 2, None))[2]

相关问题 更多 >