def open ( file , mode= 'r' , . . . ) :
'r' read only
'w' override
'a' appending
open 之后:
with open ( file , 'r' ) as f:
for line in f:
do_sth( line)
f. read( )
f. readline( )
line = f. readline( )
while line:
do_sth( line)
lien = f. readline( )
f. readlines( )
comma separate values
with open ( 'test.csv' , 'r' ) as csv_file:
csv_reader = csv. reader( csv_file)
next ( csv_reader)
for line in csv_reader:
print ( csv_reader. line_num, line)
for line in csv_file:
print ( line)
with open ( 'test.csv' , 'r' ) as csv_file:
csv_reader = csv. reader( csv_file)
while True :
try :
line = next ( csv_reader)
print ( line)
except :
break
with open ( 'test.csv' , 'w' , newline= '' ) as f:
writer = csv. writer( f)
for i in range ( 5 ) :
writer. writerow( "abcdefg" )
with open ( 'test.csv' , 'r' ) as f:
for line in f:
print ( line. strip( ) )
a, b, c, d, e, f, g
h, i, j, k, l, m, n
o, p, q
r, s, t
使用DictReader可以像操作字典那样获取数据,把表的第一行(一般是标头)作为key。可访问每一行中那个某个key对应的数据。
with open ( 'test.csv' , 'w' , newline= '' ) as f:
writer = csv. writer( f)
writer. writerows( [ "abcdefg" , 'hijklmn' , 'opq' , 'rst' ] )
with open ( 'test.csv' , 'r' ) as f:
reader = csv. DictReader( f)
for line in reader:
print ( line[ 'g' ] )
headers = [ 'name' , 'age' ]
datas = [ { 'name' : 'zhangxiaolong' , 'age' : 18 } , { 'name' : 'liusu' } ]
with open ( 'test2.csv' , 'w' , newline= '' ) as f:
writer = csv. DictWriter( f, headers)
writer. writeheader( )
for line in datas:
writer. writerow( line)
with open ( 'test2.csv' , 'r' ) as f:
for line in f:
print ( line. strip( ) )