CSV - 只读第二个表格

问题描述 投票:0回答:2

首先,我刚开始用Python编程,所以请记住:-)

我正在尝试读取包含2个表的CSV文件。我想要做的就是只打印第二张表。以下是csv文件的一个示例:

id, book, pages
1, Webster’s Dictionary, 1000
2, Tony the Towtruck, 20
3, The Twelfth Night, 144

id, rope, length, diameter, color
1, hemp, 12-feet, .5, green
2, sisal, 50-feet, .125, brown

我想要的只是打印第二个表(如果可能的话,没有标题)。

现在我有这个代码:

import csv

with open('myOutput-01.csv', 'r') as file:
    csv_reader = csv.reader(file)

    next(csv_reader)

    for line in csv_reader:
        print(line)

我怎样才能完成我想要的?提前致谢!

python csv
2个回答
1
投票

只需跳过所有内容,直到达到第二个表的标题。

with open('myOutput-01.csv', 'r') as file:
    csv_reader = csv.reader(file)
    reached_table = False
    for row in csv_reader:
        if reached_table:
            # do stuff
        elif row == 'header of the second table':
            reached_table = True

0
投票

最好的建议是将表分成csv文件。但是如果你坚持只使用上面的一个csv文件,那就这样读:

with open('myOutput-01.csv', 'r') as file:
        second_table = file.read().split('\n\n')[1]
        second_table_lines = second_table.split('\n')
        csv_reader = [x.split(', ') for x in second_table_lines[1:]]
        for line in csv_reader:
            print(line)
# Prints :['1', 'hemp', '12-feet', '.5', 'green']
#         ['2', 'sisal', '50-feet', '.125', 'brown']
© www.soinside.com 2019 - 2024. All rights reserved.