首先,我刚刚开始使用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)
我该如何完成我想要的?预先感谢!
答案 0 :(得分: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
答案 1 :(得分: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']