1. 操作csv表格

使用的库 csv

1. csv文件里读取数据

代码

1. 以列表形式打开

import csv

f = open('csv_test.csv', 'r')       # 打开csv文件
csv_reader = csv.reader(f) # 将打开的文件装换成csv可读的对象
for each in csv_reader: # 打印,结果是个列表
print(each)
f.close()

结果

['name', 'age', 'score']
['张三', '18', '100']
['王二', '17', '98']
['麻子', '20', '99']

2.以字典形式打开

import csv

f = open('csv_test.csv', 'r')       # 打开csv文件
csv_reader = csv.DictReader(f) # 将打开的文件装换成csv可读的对象,注意是DictReader()
for each in csv_reader:
print(each['name'])
f.close()

结果

张三
王二
麻子

说明

不能直接print(csv_reader) 结果为

<_csv.reader object at 0x7f67f2328198>(第一种)

<csv.DictReader object at 0x7f29ef0a4710>(第二种)

以字典形式打开会将表头作为字典的key,而其余的每一行会成为字典的value

2. 将数据写进csv文件

代码

1.以列表的方式

import csv

contents = [['id', 'name', 'hobby'],
['001', '老王', 'Java'],
['002','老胡','Python'],
['003','老李','PHP']] with open('csv_test2.csv', 'a', newline='') as f:
csv_writer = csv.writer(f)
for each in contents:
csv_writer.writerow(each)

结果

id name hobby
1 老王 Java
2 老胡 Python
3 老李 PHP

2.以字典的方式

import csv

header = ['id', 'name', 'hobby']
contents = [{'id':'1','name':'老王','hobby':'Java'},
{'id':'2','name':'老胡','hobby':'Python'},
{'id':'3','name':'老李','hobby':'PHP'}] with open('csv_test4.csv', 'a', newline='') as f:
csv_writer = csv.DictWriter(f, header)
csv_writer.writeheader()
for each in contents:
csv_writer.writerow(each)

结果

id name hobby
1 老王 Java
2 老胡 Python
3 老李 PHP

说明

打开新的文件时需要newline='',否则会产生空行

上面的代码也可以用csv_writer.writerows(contents)实现(两种均可)

以字典形式写入时必须先写头具体操作见代码


2. 操作excel表格

使用的库 xlrd(读), xlwt(写)

1. 从excel文件里读取数据

import xlrd

book = xlrd.open_workbook('excel_test1.xls') # 打开excel文件
sheet_1 = book.sheets()[0] # 打开第一张表 num_rows = sheet_1.nrows # 获取当前表的所有的行数
num_cols = sheet_1.ncols # 获取当前表的所有的列数 # 遍历行, 会将每一行以列表的形式输出
for row in range(num_rows):
row_values = sheet_1.row_values(row) # 使用的函数是row_values()
print(row_values) # 遍历列, 会将每一列以列表的形式输出
for col in range(num_cols):
col_values = sheet_1.col_values(col) # 使用的函数是col_values()
print(col_values) # 遍历单元格, 从上到下从左到右输出每一个单元格的内容
for row in range(num_rows):
for col in range(num_cols):
cell_value = sheet_1.cell_value(row, col) # 使用的函数是cell_value()
print(cell_value)

说明

主要函数,属性

book = xlrd.open_workbook('excel_test1.xls') # 打开excel文件

sheet_1 = book.sheets()[0] # 打开第一张表

num_rows = sheet_1.nrows # 获取当前表的所有的行数

num_cols = sheet_1.ncols # 获取当前表的所有的列数

row_values = sheet_1.row_values(row) # 使用的函数是row_values()

col_values = sheet_1.col_values(col) # 使用的函数是col_values()

cell_value = sheet_1.cell_value(row, col) # 使用的函数是cell_value()

注意xlrd不可以改动excel文件

2. 将数据写进excel文件中

import xlwt

# 创建Workbook对象
book = xlwt.Workbook(encoding='utf-8', style_compression=0) '''
Workbook类初始化时有encoding和style_compression参数
encoding='utf-8',为输入中文
style_compression,表示是否压缩
''' # 添加表格
sheet = book.add_sheet('sheet1', cell_overwrite_ok=True) '''
sheet1为表格的名称
cell_overwrite_ok,表示是否可以覆盖单元格
''' # 向表sheet1中添加数据
sheet.write(0, 0, 'id') # 前两个参数为单元格坐标,这里表示第一行第一列(从0开始),后面为内容
sheet.write(0,1, 'name')
sheet.write(1,0, '1')
sheet.write(1,1, '老胡') # 保存到指定的Excel文件中
book.save('excel_test2.xls')

说明

主要函数

book = xlwt.Workbook(encoding='utf-8', style_compression=0) # 创建Workbook对象

sheet = book.add_sheet('sheet1', cell_overwrite_ok=True) # 添加表格

sheet.write(0, 0, 'id') # 前两个参数为单元格坐标,这里表示第一行第一列(从0开始),后面为内容

book.save('excel_test2.xls') # 保存文件

Python 操作csv和excel表格的更多相关文章

  1. python操作csv和excel文件

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

  2. Python操作CSV和Excel

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

  3. Python将多个excel表格合并为一个表格

    Python将多个excel表格合并为一个表格 生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个.诸如此类的问题有很多.除 ...

  4. Python导出数据到Excel表格-NotImplementedError: formatting_info=True not yet implemented

    在使用Python写入数据到Excel表格中时出现报错信息记录:“NotImplementedError: formatting_info=True not yet implemented” 报错分析 ...

  5. Python操作csv文件

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

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

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

  7. python 操作openpyxl导出Excel 设置单元格格式以及合并处理

    贴上一个例子,里面设计很多用法,根据将相同日期的某些行合并处理. from openpyxl import Workbook from openpyxl.styles import Font, Fil ...

  8. Python 使用openpyxl导出Excel表格的时候,使用save()保存到指定路径

    在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢. 使用sava(filename),会保存到当前执行文件的路径下. 使用sava("/tmp/{}.xlsx" ...

  9. Python脚本:实现excel表格导入到数据库,支持mysql,postgresql,MongoDB

    import xlrd,re from datetime import datetime from xlrd import xldate_as_tuple # 判断上传表格是否与模板要求一致 def ...

随机推荐

  1. 论文阅读:Blink-Fast Connectivity Recovery Entirely in the Data Plane

    1.背景 在网络中,链路故障的发生在所难免,为了降低故障带来的影响,就需要重新路由,将数据传输到合适的链路上.当因为链路故障发生处的不同,也有不同的解决方法. AS(Autonomous System ...

  2. vCenter 导入Windows Server 2003/XP自定义规范失败

    1.vcsa 切换到/etc/vmware-vpx/sysprep目录下,会有很多个目录,根据Windows Server 2003的版本,64位找到 svr2003-64 这个目录,32位找到svr ...

  3. 通过虚拟机增加Linux的磁盘(分区容量)

    因为安装oracle设置的磁盘空间不足,所以安装失败.这里总结一下如何添加磁盘挂载 1. 右键虚拟机点击设置,然后点击磁盘,点击添加按钮 2.然后点击下一步下一步,直到安装成功 3.然后输入 fdis ...

  4. SqlServer查看锁表与解锁

    某些情况下,sqlserver的表会被锁住,比如某个会话窗口有数据一直没提交,窗口又没关闭,这时表就会被锁住 其他任何连接查询表数据时都不会返回 这时需要手工杀掉产生死锁的会话ID,才能恢复正常 查看 ...

  5. PHP-WebShell-Bypass-WAF

    PHP-WebShell-Bypass-WAF PHP WebShell 一句话的结构是:输入和执行,这是经典的PHP 一句话代码: <?php eval($_GET['test']); ?&g ...

  6. AngularJS1.X版本基础

    AngularJS  知识点: DataBinding Providers Validators Directives  Controllers Modules Expressions Factori ...

  7. JS: 随机点名程序与万年历

    随机点名程序 document.write(Math.random()); var stu = ["张三", "王五", "张二", &qu ...

  8. HihoCoder第十二周:刷油漆

    #1055 : 刷油漆 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho有着一棵灰常好玩的树玩具!这棵树玩具是由N个小球和N-1根木棍拼凑而成,这N个小球 ...

  9. wamp修改端口localhost

    一.修改Apache端口 1.在界面中选Apache,弹出隐藏菜单选项,打开配置文件httpd.conf: 2.找到 Listen 80: ServerName localhost:80; 3.将 8 ...

  10. 配置anaconda 的仓库镜像

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config -- ...