Python 读取csv文件和文本文件之间的区别?
这有什么意义Python 读取csv文件和文本文件之间的区别?,python,Python,这有什么意义 with open('grades.csv', 'r') as csvfile 在这个代码中 import csv with open('grades.csv', 'r') as csvfile: grades_reader = csv.reader(csvfile, delimiter=',') row_num = 1 for row in grades_reader: print('Row #{}:'.format(row_num)
with open('grades.csv', 'r') as csvfile
在这个代码中
import csv
with open('grades.csv', 'r') as csvfile:
grades_reader = csv.reader(csvfile, delimiter=',')
row_num = 1
for row in grades_reader:
print('Row #{}:'.format(row_num), row)
row_num += 1
???因为当我再次将代码重写为:
import csv
grades_reader=open('grades.csv', 'r')
row_num = 1
for row in grades_reader:
print('Row #{}:'.format(row_num), row)
row_num += 1
我得到了相同的结果,但输出不是列表。因此,可以安全地假设with命令在读取时会将其转换为列表吗?这不是关于将open('grades.csv',r')作为csvfile:行的
。
第一种情况是关于grades\u reader=csv.reader(csvfile,delimiter=',')
在第一种情况下,您使用的是csv.reader
,因此它会返回一个列表。
在第二种情况下,您只是将文件作为文本读取
您可以将第二种情况更改为,以获得与第一种情况相同的结果
import csv
grades_reader=open('grades.csv', 'r')
grades_reader = csv.reader(grades_reader, delimiter=',')
row_num = 1
for row in grades_reader:
print('Row #{}:'.format(row_num), row)
row_num += 1
这里有一些关于python的和语句的讨论
您应该更喜欢使用with(),因为这将关闭文件并防止资源泄漏,但正如所回答的,这不是根本原因