Yil*_*Liu 2 python csv python-3.x
请使用以下代码:
import csv
# import items with first row
inputfile = open('price.csv', 'r')
reader = csv.reader(inputfile)
rows1 = [row for row in reader] # here
# del first row
rows2 = rows1[1:]
print(rows2)
Run Code Online (Sandbox Code Playgroud)
更改
rows1 = [row for row in reader]
Run Code Online (Sandbox Code Playgroud)
成
rows1 = [row for row in inputfile]
Run Code Online (Sandbox Code Playgroud)
改变输出:
# with 'reader'
[['6004', '240'], ['6004', '350'], ['6004', '350']]
# with 'inputfile'
['6004,240\n', '6004,350\n', '6004,350\n']
Run Code Online (Sandbox Code Playgroud)
是什么造成的?或者说,原理是什么?
file
对象是可迭代的.迭代file
对象inputfile
会将原始(未分析)行返回为字符串对象.
您构造了一个csv.reader
可以解析这些行的对象.该csv.reader
对象也是可迭代的,并且迭代它返回各个CSV记录的字符串列表.
因此,你遍历时得到不同的结果inputfile
比过reader
.