概述

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

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

CSV操作

csv写入

1.写入列表(list)数据

使用 csv.writer 对象

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

import csv
with open(r'e:\zarten.csv', 'w', newline='') as csvfile:
csv_writer = csv.writer(csvfile, delimiter=' ') csv_writer.writerow(['a', 'b', 'c'])
csv_writer.writerow(['d', 'e', 'f'])

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 csv
with open(r'e:\zarten.csv', 'r', newline='') as csvfile:
csv_reader = csv.DictReader(csvfile, delimiter= ' ')
for row in csv_reader:
print(row['name'], row['age'])

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)

原文 https://zhuanlan.zhihu.com/p/54705476

Python操作CSV和Excel的更多相关文章

  1. Python 操作csv和excel表格

    1. 操作csv表格 使用的库 csv 1. csv文件里读取数据 代码 1. 以列表形式打开 import csv f = open('csv_test.csv', 'r') # 打开csv文件 c ...

  2. python操作csv和excel文件

    1.操作csv文件 1).读取文件 import csv f=open("test.csv",'r') t_text=csv.reader(f) for t,i in t_text ...

  3. Python操作csv文件

    1.什么是csv文件 The so-called CSV (Comma Separated Values) format is the most common import and export fo ...

  4. 数学建模之Python操作csv文件

    1.用Python通过csv文件里面的某一列,形成键值,然后统计键在其他列出现的次数. import pandas as pd import numpy as np import csv import ...

  5. python读取csv,Excel,Txt,Yaml 文件

    1.数据 1.Csv login.csv文件: byhy,88888888 ReadCsv.py文件 import csv #导入csv包 class ReadCsv(): def csv(self) ...

  6. Python操作Word与Excel并打包

    安装模块 # Word操作库 pip install docx # Excel操作库 pip install openpyxl # 打包exe工具 pip install pyinstaller Wo ...

  7. python操作csv

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #CSV文件的写入(按行写入) import csv #csv文件,是一种常用的文本格式,用以存储表格数据,很 ...

  8. 一次Python操作数据库和excel过程

    师从‘百测’besttest 最近牛大湿教了操作数据库和操作excel,写了一个小小的脚本,传入一个表名后,将表中所有数据写入excel中. 使用了pymysql,xlwt,需要自行安装. impor ...

  9. python读取csv、excel、mysql内容

    前提:导入扩展包 import pandas as pd import pymysql ①读取csv文件 fpath='/test.csv'ratings=pd.read_csv(fpath)prin ...

随机推荐

  1. 【新阁教育】基于EtherNet/IP实现欧姆龙NX系列PLC通信

    1.引言 工业以太网协议 (Ethernet/IP) 是由ODVA所开发并得到了罗克韦尔自动化的强大支持.它使用已用于ControlNet和DeviceNet的控制和信息协议 (CIP) 为应用层协议 ...

  2. Kafka 【入门一篇文章就够了】

    初识 Kafka 什么是 kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区.多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订 ...

  3. JS中call()、apply()、bind()的用法

    其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解! 先看明白下面: 例1 obj.objAge;  //17 obj.myFun()  //小张年龄undefined 例2 shows( ...

  4. springboot、Thymeleaf、国际化的简单使用

    1.项目体系结构 (1)知识体系 springboot:省去了很多繁琐的配置,如:视图解析器.前端控制器等 thymeleaf:获取controller数据逼能够进行展示 集合:用于存储数据,此练习没 ...

  5. pytest封神之路第四步 内置和自定义marker

    可以通过命令行查看所有marker,包括内置和自定义的 pytest --markers 内置marker 内置marker本文先讲usefixtures .filterwarnings .skip ...

  6. 轻轻松松学CSS:overflow

    一.overflow的定义 overflow,音[əʊvəˈfləʊ],义[溢出],就像2.2米的人躺在1.8米的床上,腿得耷拉到床外一样.overflow 属性用于控制内容溢出容器时显示的方式 二. ...

  7. websocket+sockjs+stompjs详解及实例

    最近有项目需求要用到websocket,刚开始以为很简单,但是随着遇到问题,深入了解,才知道websocket并不是想象中的那么简单,这篇文章主要是考虑websocket在客户端的使用. 1.http ...

  8. 电商订单ElasticSearch同步解决方案--使用logstash

    一.使用logstash同步订单数据(订单表和订单项表)到ElasticSearch: 1.到官网下载logstash:https://www.elastic.co/cn/downloads/logs ...

  9. Copy As HTML From VSCode

    JS生成可自定义语法高亮HTMLcode cnblogs @ Orcim  !deprecated! 这里有更好的方案,具体看我的这篇博客博客代码高亮的另一种思路 这篇文章介绍了如何在博客里插入一段 ...

  10. 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围

    045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...