CSV文件处理
import csv
读取csv文件
以列表的形式获取文件信息
with open ( 'data.csv' , 'r' ) as f:
reader = csv. reader( f)
for read in reader:
print ( read)
['用户ID', '客户分类', '区域', '是否省会', '7月销量', '8月销量', '9月销量']
['59224', 'A类', '一线城市', '是', '6', '20', '0']
['55295', 'B类', '三线城市', '否', '37', '27', '35']
['46035', 'A类', '二线城市', '是', '8', '1', '8']
['2459', 'C类', '一线城市', '是', '', '8', '14']
['22179', 'B类', '三线城市', '否', '9', '12', '4']
['22557', 'A类', '二线城市', '是', '42', '20', '55']
with open ( 'data.csv' , 'r' ) as f:
reader = csv. reader( f)
next ( reader)
for read in reader:
print ( read)
['59224', 'A类', '一线城市', '是', '6', '20', '0']
['55295', 'B类', '三线城市', '否', '37', '27', '35']
['46035', 'A类', '二线城市', '是', '8', '1', '8']
['2459', 'C类', '一线城市', '是', '', '8', '14']
['22179', 'B类', '三线城市', '否', '9', '12', '4']
['22557', 'A类', '二线城市', '是', '42', '20', '55']
with open ( 'data.csv' , 'r' ) as f:
reader = csv. reader( f)
next ( reader)
for read in reader:
ID = read[ 0 ]
area = read[ 2 ]
print ( { 'ID' : ID, 'area' : area} )
{'ID': '59224', 'area': '一线城市'}
{'ID': '55295', 'area': '三线城市'}
{'ID': '46035', 'area': '二线城市'}
{'ID': '2459', 'area': '一线城市'}
{'ID': '22179', 'area': '三线城市'}
{'ID': '22557', 'area': '二线城市'}
以字典的方式获取文件信息
with open ( 'data.csv' , 'r' ) as f:
reader = csv. DictReader( f)
for x in reader:
print ( x)
OrderedDict([('用户ID', '59224'), ('客户分类', 'A类'), ('区域', '一线城市'), ('是否省会', '是'), ('7月销量', '6'), ('8月销量', '20'), ('9月销量', '0')])
OrderedDict([('用户ID', '55295'), ('客户分类', 'B类'), ('区域', '三线城市'), ('是否省会', '否'), ('7月销量', '37'), ('8月销量', '27'), ('9月销量', '35')])
OrderedDict([('用户ID', '46035'), ('客户分类', 'A类'), ('区域', '二线城市'), ('是否省会', '是'), ('7月销量', '8'), ('8月销量', '1'), ('9月销量', '8')])
OrderedDict([('用户ID', '2459'), ('客户分类', 'C类'), ('区域', '一线城市'), ('是否省会', '是'), ('7月销量', ''), ('8月销量', '8'), ('9月销量', '14')])
OrderedDict([('用户ID', '22179'), ('客户分类', 'B类'), ('区域', '三线城市'), ('是否省会', '否'), ('7月销量', '9'), ('8月销量', '12'), ('9月销量', '4')])
OrderedDict([('用户ID', '22557'), ('客户分类', 'A类'), ('区域', '二线城市'), ('是否省会', '是'), ('7月销量', '42'), ('8月销量', '20'), ('9月销量', '55')])
with open ( 'data.csv' , 'r' ) as f:
reader = csv. DictReader( f)
for x in reader:
value = { 'area' : x[ '区域' ] , '7' : x[ '7月销量' ] }
print ( value)
{'area': '一线城市', '7': '6'}
{'area': '三线城市', '7': '37'}
{'area': '二线城市', '7': '8'}
{'area': '一线城市', '7': ''}
{'area': '三线城市', '7': '9'}
{'area': '二线城市', '7': '42'}
写入csv文件
headers = [ 'username' , 'age' , 'height' ]
values = [
( '张三' , 15 , 170 ) ,
( '李四' , 20 , 180 ) ,
( '王五' , 25 , 190 )
]
with open ( 'text_1.csv' , 'w' , encoding= 'utf-8' , newline= '' ) as f:
writer = csv. writer( f)
writer. writerow( headers)
writer. writerows( values)
以字典的方式写入文件
headers = [ 'username' , 'age' , 'height' ]
values = [
{ 'username' : '张三' , 'age' : 18 , 'height' : 160 } ,
{ 'username' : '李四' , 'age' : 29 , 'height' : 170 } ,
{ 'username' : '王五' , 'age' : 30 , 'height' : 180 }
]
with open ( 'text_2.csv' , 'w' , encoding= 'utf-8' , newline= '' ) as f:
writer = csv. DictWriter( f, headers)
writer. writeheader( )
writer. writerows( values)