python阅读csv文件

时间:2015-12-06 16:40:40

标签: python csv

我有一些关于python及其语法的信息性问题。我有一个5000行的csv文件,我正在阅读它并将其打印到屏幕上,就像这样

for i in range(5):
    print csv_file.readline(),
  1. 这个尾随逗号有什么作用?我的意思是我可以看到它对输出的作用,但我想知道它为什么会这样做。

  2. 每次运行此代码时,它会读取下一行五行。我发现这很奇怪,因为我认为它总会读取相同的五行。所以python以某种方式跟踪它在文件中的位置?

  3. 感谢您的任何见解。

1 个答案:

答案 0 :(得分:2)

示例:

for i in range(3):
    print i
print "---"
for i in range(5):
    print i,

结果:

0
1
2
---
0 1 2 3 4
  1. “print”关键字的正常行为是在打印内容后添加换行符“\ n”,以便下一个打印的语句在新行上。但是,您的csv文件在每行的末尾也有“\ n”。所以你最初有“\ n \ n”。逗号表示不应将换行符添加到打印语句中,因此您只能使用csv文件中的换行符。

  2. 只要线程正在执行且文件句柄未关闭,文件句柄(handle = open('myFile'))就会跟踪文件位置。一旦你使用“csv_file.close()”并重新打开文件,它将从文件的开头开始。如果脚本完成执行并关闭,它还将关闭所有打开的文件句柄,后续执行将从文件的开头开始。唯一一次我认为情况并非如此,如果你从另一个继续运行的线程获得“csv_file”。