csv模块
作用
将数据存放到本地的csv文件中
使用流程
1、导入模块
2、打开csv文件
3、初始化写入对象
4、写入数据(参数为列表)
import csv
with open('test.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f) # 初始化写入对象
writer.writerow(['小明', 25]) # 写入一行
writer.writerows([('聂风','36'),('秦霜','25'),('孔慈','30')])
示例代码
创建 test.csv 文件,在文件中写入2条数据
# 单行写入(writerow([]))
import csv
with open('test.csv','w') as f:
writer = csv.writer(f)
writer.writerow(['步惊云','36'])
writer.writerow(['超哥哥','25'])
# 多行写入(writerows([(),(),()]
import csv
with open('test.csv','w') as f:
writer = csv.writer(f)
writer.writerows([('聂风','36'),('秦霜','25'),('孔慈','30')])
在windows中使用csv模块默认添加一个空行,使用newline=""可以解决
使用xlr和xlwt模块
安装xlrd模块和xlwt模块
pip install xlrd
pip install xlwt
也可以到官网下载安装包,解压后执行
python setup.py install
进行安装
使用xlrd模块读取Excel文件
- 导入模块
import xlrd
- 打开Excel文件(默认是rb方式打开)
myWorkbook = xlrd.open_workbook('excelFile.xls')
- 获取Excel工作表
mySheets = myWorkbook.sheets() #获取工作表list。
mySheet = mySheets[0] #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_index(0) #通过索引顺序获取。
mySheet = myWorkbook.sheet_by_name(u'Sheet1') #通过名称获取。
4.获取行数和列数
nrows = mySheet.nrows
ncols = mySheet.ncols
- 获取一行和一列
myRowValues = mySheet.row_values(i) #i是行数,从0开始计数,返回list对象。
myColValues = mySheet.col_values(i) #i是列数,从0开始计数,返回list对象。
- 读取单元格数据
myCell = mySheet.cell(i, j) #获取单元格,i是行数,j是列数,行数和列数都是从0开始计数。
myCellValue = myCell.value #通过单元格获取单元格数据。
myCellValue = mySheet.cell_value(i, j) #直接获取单元格数据,i是行数,j是列数,行数和列数都是从0开始计数。
使用xlwt模块写入Excel文件
- 导入模块
import xlwt
- 创建Excel工作薄
myWorkbook = xlwt.Workbook()
- 添加Excel工作表
mySheet = myWorkbook.add_sheet('A Test Sheet')
- 写入数据
myStyle = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00') #数据格式
mySheet.write(i, j, 1234.56, myStyle)
mySheet.write(2, 0, 1) #写入A3,数值等于1
mySheet.write(2, 1, 1) #写入B3,数值等于1
mySheet.write(2, 2, xlwt.Formula("A3+B3")) #写入C3,数值等于2(A3+B3)
- 保存
myWorkbook.save('excelFile.xls')
xlutils结合xlrd可以达到修改excel文件目的
import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook(u'有趣装逼每日数据及趋势.xls')
workbooknew = copy(workbook)
ws = workbooknew.get_sheet(0)
ws.write(3, 0, 'changed!')
workbooknew.save(u'有趣装逼每日数据及趋势copy.xls')
openpyxl可以对excel文件进行读写操作
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
workbook_ = load_workbook(u"新歌检索失败1477881109469.xlsx")
sheetnames =workbook_.get_sheet_names() #获得表单名字
print sheetnames
sheet = workbook_.get_sheet_by_name(sheetnames[0])
print sheet.cell(row=3,column=3).value
sheet['A1'] = '47'
workbook_.save(u"新歌检索失败1477881109469_new.xlsx")
wb = Workbook()
ws = wb.active
ws['A1'] = 4
wb.save("新歌检索失败.xlsx")