python - How to print first 5 lines of a sorted csv file?
问题描述
In the code below, I need to print out the first 5 lines from the CSV file "winners.csv" and I don't know how to do it. I just know that lines 4-5 will cause all lines in the csv file to print.
The code in question:
wins = open("winners.csv", "r")
csv1 = csv.reader(wins, delimiter=",")
sort = sorted(csv1,key=operator.itemgetter(1),reverse=True)
for eachline in sort:
print(eachline)
wins.close()
解决方案
不是循环遍历 中的所有元素,而是遍历sort
前五个元素。
wins = open("winners.csv", "r")
csv1 = csv.reader(wins, delimiter=",")
sort = sorted(csv1,key=operator.itemgetter(1),reverse=True)
for eachline in sort[:5]: # <----- note how sort is changed to sort[:5]
print(eachline)
wins.close()
与您的问题没有直接关系,只是提到一个好的做法。建议使用with
. 异常处理,读取完成后关闭文件等将为您完成,您的代码将更清晰。
with open("winners.csv", "r") as wins:
csv1 = csv.reader(wins, delimiter=",")
sort = sorted(csv1,key=operator.itemgetter(1),reverse=True)
for eachline in sort[:5]:
print(eachline)
推荐阅读
- python - “socket”的实例没有“gethostbyname”成员 Python3
- node.js - 使用护照 + JWT 或会话保护 GraphQL API?(举例)
- build - 如何设置 TeamCity 构建触发器以使用环境参数
- reactjs - 如何在 Next.js 的服务器端访问自定义应用程序中的语言环境?
- plot - 如何使用 Julia 的 Plots 包绘制 3-D 函数?
- angular - Angular i18n 在切换语言时不理解路由
- firebase - 最实用的 Firestore 监听器:每条路径多个,还是一个做多个工作?
- scala - java.nio.file.NoSuchFileException:/home/jovyan/work/source/load-ivy.sc
- java - Springboot 堆栈跟踪日志过滤器仅来自我的包
- mysql - logstash的JDBC输入插件可以做多个sql任务吗?