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. spring事物(一),@EnableTransactionManagement @Transactional 启动解析

    1.事物的声明阶段 @EnableTransactionManagement,是我们开启注解事物的第一步,我们来看下这个类为我们干了什么 @Target(ElementType.TYPE) @Rete ...

  2. hue中访问hdfs报错

    在hue中访问hdfs报错: Cannot access: /. Note: you are a Hue admin but not a HDFS superuser, "hdfs" ...

  3. Windows上设置Sass

    现在有很多信息在预处理器上浮动.大部分信息都面向Mac用户,所以在这篇文章中,我提供了一个非常简单的指南,帮助基于Windows的开发人员快速启动并运行Sass(我选择的预处理器). 本文是在此博客上 ...

  4. SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus

    [oracle@jtwy02 ~]$ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.4.0 Production on Sat Oct 13 14:14: ...

  5. dwr??

    官方网站:http://directwebremoting.org/dwr/index.html http://m.blog.csdn.net/u013628152/article/details/5 ...

  6. Jackson学习笔记

    老版本的Jackson使用的包名为org.codehaus.jackson,而新版本使用的是com.fasterxml.jackson. Jackson主要包含了3个模块: jackson-core ...

  7. POJ 1852:Ants

    Ants Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 11754   Accepted: 5167 Description ...

  8. Python基础笔记:input()输入与数据类型转换

    input就是个万能输入,不过input输入的元素都是以str形式保存的,如果要他作为一个整数的话,就需要进行数据类型转换. input的使用 name=input('please input you ...

  9. IPsec_crypto[6]次配置

    IPsec_crypto[6]次配置: ①.①:crypto isakmp enbale——启用ISAKMP ②.②:crypto isakmp policy 10——创建一个策略组 ③:encryp ...

  10. 百度easydl之图像分类构建是否佩戴口罩模型

    2020-02-14 今天试了下百度esaydl的图像分类方面的功能,其优点是主需要上传自己的数据集,不需要关注模型训练,就可以得到相应的结果.最后得到的模型可以调用云api在本地进行运行. 网址:h ...