这是我的csv文件的示例:
1 Ryan Giggs £13.50 23 Manchester Utd
2 David Beckham £40.00 24 Manchester Utd
3 Michael Owen £22.00 22 Liverpool
4 Robbie Fowler £21.00 23 Leeds Utd
Run Code Online (Sandbox Code Playgroud)
我编写此代码的目的是打印出第一行:
import csv
with open("Footballers.csv") as f:
reader = csv.reader(f)
for row in reader:
print(row[1])
Run Code Online (Sandbox Code Playgroud)
然而,这只打印出第一个(技术上的第二个)列,如下所示:
Ryan
David
Micheal
Robbie
Run Code Online (Sandbox Code Playgroud)
如何将它打印出第一行呢?
1 Ryan Giggs £13.50 23 Manchester Utd
Run Code Online (Sandbox Code Playgroud)
next如果您只打算打印第一行,则删除for循环并使用,因为for迭代对象并将连续提供每一行:
with open("Footballers.csv") as f:
reader = csv.reader(f)
print(next(reader)[0]) # default separator is a comma so you only get one item in the row
Run Code Online (Sandbox Code Playgroud)
该reader对象是一个迭代器,调用next它将提供下一个项目,在这种情况下是第一行.请注意,这会使迭代器前进,后续迭代将从第二行开始.
row[1]给出了第二件事row(因为它从0开始计数).你想要所有的row,用空格分隔.您可以替换row[1]与" ".join(row)修复它." "是我们想要将每个项目分开的东西,并且row是我们想要分离的列表.
完整的代码将是
import csv
with open("Footballers.csv") as f:
reader = csv.reader(f)
for row in reader:
print(" ".join(row))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31938 次 |
| 最近记录: |