python 读写csv文件(创建,追加,覆盖)

总述:

这篇博客讲述python怎样创建,读写,追加csv文件

创建:

利用csv包中的writer函数,如果文件不存在,会自动创建,需要注意的是,文件后缀一定要是.csv,这样才会创建csv文件

这里创建好文件,将csv文件的头信息写进了文件。

import csv
def create_csv():
    path = "aa.csv"
    with open(path,'wb') as f:
        csv_write = csv.writer(f)
        csv_head = ["good","bad"]
        csv_write.writerow(csv_head)

追加:

在python中,以a+的方式打开,是追加

def write_csv():
    path  = "aa.csv"
    with open(path,'a+') as f:
        csv_write = csv.writer(f)
        data_row = ["1","2"]
        csv_write.writerow(data_row)

读:

利用csv.reader可以读csv文件,然后返回一个可迭代的对象csv_read,我们可以直接从csv_read中取数据

def read_csv():
    path = "aa.csv"
    with open(path,"rb") as f:
        csv_read = csv.reader(f)
        for line in csv_read:
            print line

附加:

python利用open打开文件的方式:

w:以写方式打开, 
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) 
r+:以读写模式打开 
w+:以读写模式打开 (参见 w ) 
a+:以读写模式打开 (参见 a ) 
rb:以二进制读模式打开 
wb:以二进制写模式打开 (参见 w ) 
ab:以二进制追加模式打开 (参见 a ) 
rb+:以二进制读写模式打开 (参见 r+ ) 
wb+:以二进制读写模式打开 (参见 w+ ) 
ab+:以二进制读写模式打开 (参见 a+ )

### 如何使用Python实现CSV文件读写 #### 一、编CSV文件 为了创建并编辑CSV文件,需导入`csv`模块,并通过指定路径打开目标文件,在此过程中设置合适的编码方式以防止乱码现象发生。对于新建立用于文件流对象而言,应调用该模块下的`writer()`函数来获取一个专门负责向CSV文档追加数据的对象实例。 ```python import csv with open('example.csv', 'w', newline='', encoding='utf-8') as csvfile: writer = csv.writer(csvfile) header = ['姓名', '年龄', '城市'] data = [ ('张三', 20, '北京'), ('李四', 22, '上海') ] writer.writerow(header) writer.writerows(data) ``` 上述代码展示了如何定义表头以及多条记录的数据列表,并依次将其写入到名为`example.csv`的新建文件当中[^1]。 #### 二、读取CSV文件 当需要解析已有的CSV资源时,则要先按照相同的方式初始化对应的只读模式文件句柄;接着借助于`csv.reader()`方法构建迭代器形式的结果集,从而能够逐行遍历整个表格内的所有项。 ```python import csv with open('example.csv', 'r', newline='', encoding='utf-8') as csvfile: reader = csv.DictReader(csvfile) # 如果首行为标题可选用DictReader方便处理 for row in reader: print(row['姓名'], row['年龄']) ``` 这里采用的是更灵活易懂字典式的访问接口——`DictReader`,它会自动识别第一列为键名而后续各列作为相应值对待,简化了按名称索引特定字段的操作流程[^4]。 另外值得注意的是,在实际开发环境中可能会碰到由于程序外部因素导致IO异常的情况(比如文件被占用),因此建议养成良好的编程习惯,在适当位置加入错误捕捉逻辑确保应用稳定性[^5]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值