python读写csv文件

CSV:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)CSV(逗号分隔值文件格式)_百度百科 (baidu.com)

python使用csv库

import csv

写入文件

写入列表

newline=''时不自动换行

writer中delimiter为分隔符,默认为逗号

with open('demo.csv', 'w', newline='') as wf:
    writer = csv.writer(wf, delimiter=',')
    writer.writerow(['x', 'y', 'z'])
    writer.writerow([1, 2, 3])
    wf.flush()

文件:

x,y,z
1,2,3

写入字典

with open('info.csv', 'w', newline='') as wf:
    fieldnames = ['name', 'age']
    csv_writer = csv.DictWriter(wf, fieldnames=fieldnames)
    csv_writer.writeheader()
    csv_writer.writerow({'name': 'xherlock1', 'age': 1})
    csv_writer.writerow({'name': 'xherlock2', 'age': 2})

文件:

name age
xherlock1 1
xherlock2 2

读取文件

读取文件时候需要注意文件分隔符是否为逗号

读取每一行

with open('demo.csv') as rf:
    reader = csv.reader(rf)
    for row in reader:
        print(row)

输出

['x', 'y', 'z']
['1', '2', '3']

读取某一列

with open('demo.csv') as rf:
    reader = csv.reader(rf)
    column = [row[0] for row in reader]
    print(column)

输出

['x', '1']

读取字典(带表头)

with open('info.csv') as rf:
    reader = csv.DictReader(rf)
    for row in reader:
        print(row['name'] + ' is ' + row['age'] + ' years old')

输出

xherlock1 is 1 years old
xherlock2 is 2 years old
最后修改:2022 年 09 月 04 日
如果觉得我的文章对你有用,请随意赞赏