python操作excel_Python操作CSV和Excel

c1382affbe0d0ca043ca5f7a715b1862.png
作者:Zarten 知乎专栏:Python爬虫深入详解 知乎ID: Zarten 简介: 互联网一线工作者,尊重原创并欢迎评论留言指出不足之处,也希望多些关注和点赞是给作者最好的鼓励 !

概述

csv是最通用的文件格式,本质是文本文件,用记事本即可打开。同一行中每个字段间用逗号分隔,在csv中显示的是在不同单元格中,在记事本中显示的是一行中用逗号分隔。

xls是excel专用格式,是二进制文件,只有excel才能打开。

CSV操作

csv写入

1.写入列表(list)数据

使用 csv.writer 对象

delimiter 指定同一行每个字段的分隔字符。若不指定,默认以英文逗号(,)分隔,在csv文件中显示的是不同单元格,若以其他符号分隔,则显示在csv同一单元格中

import 

2.写入字典(dict)数据

使用 csv.DictWriter 对象

import csv
with open(r'e:zarten.csv', 'w', newline='') as csvfile:
    fieldnames = ['name', 'age']
    csv_writer = csv.DictWriter(csvfile, fieldnames= fieldnames, delimiter=' ')#csv中默认,分隔单元格,delimiter可以不指定

    csv_writer.writeheader()
    
    csv_writer.writerow({'name' : 'Zarten1', 'age' : 1})
    csv_writer.writerow({'name' : 'Zarten2', 'age' : 2})

csv读取

1.读取普通csv

使用 csv.reader 对象

import csv
with open(r'e:zarten.csv', 'r', newline='') as csvfile:
    csv_reader = csv.reader(csvfile, delimiter= ' ')
    headers = next(csv_reader) #获取第一行,可能是头
    print(headers)
    for row in csv_reader:
        print(row)
        
#输出结果:
# ['name', 'age']
# ['Zarten1', '1']
# ['Zarten2', '2']

2.读取字典(dict)csv

使用 csv.DictReader 对象

import 

excel操作

excel操作需要使用第三方库,这里推荐使用openpyxl

官方文档: Tutorial - openpyxl 2.5.12 documentation

安装

pip3 install openpyxl

excel写入

import openpyxl

file_path = r'e:zarten.xlsx'

wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'Zarten_info'

headers = ['name', "age"]
sheet.cell(1, 1, value=headers[0])
sheet.cell(1, 2 ,value=headers[1])

rows1 = ['Zarten1', 1]
sheet.append(rows1)

rows2 = ['Zarten2', 2]
sheet.append(rows2)

excel读取

import openpyxl

file_path = r'e:zarten.xlsx'

wb = openpyxl.load_workbook(file_path)
sheet = wb['Zarten_info']

for row in sheet.rows:
    row_info = [row[0].value, row[1].value]
    print(row_info)

    for cell in row:
        print(cell.value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值