use*_*190 2 python csv python-2.7
如果下面的两个代码片段给出相同的结果,那么请告诉我使用的优点是什么csv.reader
1)
import csv
f = open('a.csv', 'rb')
spamreader = csv.reader(f)
for a in spamreader:
print a
Run Code Online (Sandbox Code Playgroud)
结果:
['SNO', ' Name', ' Dept']
['1', ' Def', ' Electronics']
['2', 'Abc', 'Computers']
Run Code Online (Sandbox Code Playgroud)
csv在您的示例中,我没有看到使用module的优势。但是,当您引用元素时,情况就会发生变化:
SNO,Name,Dept
1,Def,Electronics
2,Abc,Computers
3,"here is the delimiter, in quotes",ghi
Run Code Online (Sandbox Code Playgroud)
有了 csv 模块,就很简单了
import csv
with open('a.csv', 'rb') as f:
csv_reader = csv.reader(f, delimiter=',', quotechar='"')
for row in csv_reader:
print(row)
Run Code Online (Sandbox Code Playgroud)
但拆分会忽略引号。
(无论如何,我建议使用 pandas 来读取 CSV 文件,如下所示。另请注意,您应该关闭已打开的文件。通过使用该with语句,您可以隐式执行此操作。)