Python 文件操作(CSV文件)

本文介绍了如何使用Python进行CSV文件的读写操作,包括商品列表的写入、以字典方式写入数据以及自定义分隔符等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSV格式的读写

import csv

def read_csv():
    with open('test.csv','r',encoding='utf8') as csvFile:
        read = csv.reader(csvFile)
        for i in read:
            print(i)





def read_csv_row():
    with open('test.csv','r',encoding='utf8') as csvFile:
        read = csv.reader(csvFile)
        for (row,v) in enumerate(read):
            if(row>0):
                print('%d -> %s'%(row,v))

商品列表写入

productList = [{
        "sku": 1,
        "name": "iphone 12 pro max",
        "price": 12999,
        "brand": "苹果"
    }, {
        "sku": 2,
        "name": "mate 40",
        "price": 7999,
        "brand": "华为"
    }, {
        "sku": 3,
        "name": "vivo r9",
        "price": 3999,
        "brand": "vivo"
    }]
def write_csv_list(list):
    list_new = []
    print(list)
    for obj in list:
        list_new.append([
            obj['sku'],
            obj['name'],
            obj['price'],
            obj['brand']
        ])
    print(list_new)

    with open('test.csv','w',encoding='utf8',newline='') as csvFile:
        writer = csv.writer(csvFile)

        writer.writerow(['型号','名字','价格','品牌'])

        writer.writerows(list_new)

字典方式写入

def write_csv_dic(list):
    with open('test.csv', 'w', encoding='utf8', newline='') as csvFile:
        # 存储   csv 拿到writer
        writer = csv.DictWriter(csvFile,['sku','name','price','brand'])
        writer.writeheader() # 写入属性
        writer.writerows(list)
write_csv_dic(productList)


def csv_write():
    with open("test.csv",mode='w',encoding='utf-8') as file:
        file.write('id,name,age')
        file.write('\n')
        file.write('1,张三,18')
        file.write('\n')
        file.write('2,李四,19')
        file.write('\n')
        file.write('3,王五,16')

csv_write()


自定义分隔符

import csv

with open('test.csv','r',encoding='utf8') as csvfile:
    liness = csv.reader(csvfile,delimiter=';')
    for i,v in enumerate(liness):
        print(v[2])
        if i > 1:
            break
    liness = csv.reader(csvfile)
    for i, v in enumerate(liness):
        print( v[2])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值