Save data to csv

csv comma-separated values

First, write

1, the list

Add a single row

import csv

#

with open(file='a.csv', mode='w', encoding='utf-8', newline='') as f:
    write = csv.writer(f)
    write.writerow(['id', 'name', 'age'])
    write.writerow(['1001', 'tom', 23])
    write.writerow(['1002', ' Alex ' , 34 is ]) 
    write.writerow ([ ' 1003 ' , ' Bob ' , 16 ]) 

# NEWLINE = '' line removal action, if not to add each piece of data, to add a blank line

Bulk add

import csv

#
header = ['id', 'name', 'age']
body = [
    ['1001', 'tom', 23],
    ['1002', 'alex', 34],
    ['1003', 'Bob', 16]
]

with open(file='b.csv', mode='w', encoding='utf-8', newline='') as f:
    write = csv.writer(f)
    write.writerow(header)
    write.writerows(body)

# 注意:批量添加用writerows()

2, dictionary

Add a single row

import csv

#
header = ['id', 'name', 'age']


with open(file='c.csv', mode='w', encoding='utf-8', newline='') as f:
    write = csv.DictWriter(f, fieldnames=header)
    write.writeheader()
    write.writerow({'id': '1001', 'name': 'tom', 'age': 23})
    write.writerow({'id': '1002', 'name': 'alex', 'age': 34})
    write.writerow({'id': '1003', 'name': 'Bob', 'age': 45})

Bulk add

import csv

#
header = ['id', 'name', 'age']

body_dic = [
    {'id': '1001', 'name': 'tom', 'age': 23},
    {'id': '1002', 'name': 'alex', 'age': 34},
    {'id': '1003', 'name': 'Bob', 'age': 45}
]


with open(file='d.csv', mode='w', encoding='utf-8', newline='') as f:
    write = csv.DictWriter(f, fieldnames=header)
    write.writeheader()
    write.writerows(body_dic)

Second, read

1, the list

import csv

#

with open(file='d.csv', mode='r', encoding='utf-8', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

2, dictionary

import csv

#

with open(file='d.csv', mode='r', encoding='utf-8', newline='') as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(dict(row))

 

Guess you like

Origin www.cnblogs.com/wt7018/p/11899422.html