- 需要导入模块:import csv
import csv
# csv表头
headers = []
# csv数据
rows = []
# 写入的数据为列表结构
with open('test1.csv', 'w') as w:
# 创建一个csv的writer对象
w_csv = csv.writer(w)
# 写入csv表头--写入一行
w_csv.writerow(headers)
# 写入csv数据--写入多行
f_csv.writerows(rows)
# 写入的数据为字典类型
with open('test2.csv', 'w') as w:
# 创建一个csv的DictWriter对象
w_csv = csv.DictWriter(w, ['字典键1','键2','...'])
# 写入一行当表头,即字典键名
w_csv.writeHeader()
# 写入对行数据,即字典的所有值
w_csv.writerows(rows)
# 读取CSV数据
with open('text1.csv') as r:
# 创建一个DictReader对象
r_csv = csv.DictReader(r)
for row in r_csv:
# 字典键,即csv的表头名
print(row.get('字典键1'), row.get('字典键2'), row.get('...'))
CSV实例:
import csv
headers = [
'姓名','性别','年龄'
]
rows = [
['a','男','18'],
['b','女','19'],
['c','男','20']
]
with open('test.csv', 'w') as w:
w_csv = csv.writer(w)
w_csv.writerow(headers)
f_csv.writerows(rows)
Excel表格的读写 使用xlwt和xlrd的基本格式:
- import xlwt:写入Excel数据的模块
import xlwt
# 创建表格对象
workbook = xlwt.Workbook(encoding="utf-8")
# 创建工作表
worksheet = workbook.add_sheet('sheet1')
# 写入数据,第一个参数为'行',第二个参数为'列',第三个参数为'内容'
work.sheet.write(0,0,'内容')
# 保存数据表
workbook.save('xxx.xls')
- import xlrd:读取Excel数据的模块
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook('excel.xls')
# 设置需要获取的工作表
table = workbook.sheet_by_name('sheet1')
# 获取总行数或总列数
row_count = table.nrows
col_count = table.ncols
# 获取整行或整列的值(返回列表)
row_list = table.row_values(行号)
col_list = table.col_values(列号)
# 获取某一单元格的内容
val = table.cell(行号,列号).value
使用xlwt写入Excel实例:
- 保存九九乘法表:
import xlwt
workbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet('sheet1')
# 九九乘法表
for i in range(1,9+1):
for j in range(1, i+1):
worksheet.write(i-1,j-1,"%d * %d = %d" % (j,i,i*j))
# 保存表格
workbook.save("九九乘法表.xls")
使用openpyxl的基本格式:
- 读取Excel数据:
# 导入模块
from openpyxl import load_workbook
# 需要操作的表
wb = load_workbook('表所在路径')
# 获取Excel文件的所有sheet名称
xxx = wb.sheetnames
# 选择sheet
xxx = wb["sheet1"]
# 获取某一单元格的内容
xxx = sheet.call(行号,列号).value
xxx = sheet["A1"].value
# 循环遍历所有sheet
for sheet in wb:
cell = sheet["A1"].value
# 获取所有行或所有列
for row in sheet.rows:
row[x].value
for col in sheet.columns:
col[x].value
- 写入Excel数据:
from openpyxl import load_workbook
# 在原有表格里追加内容
wb = load_workbook("xxx.xlsx")
sheet = wb["sheet1"]
cell = sheet.cell(x,y)
cell.value = "需要添加的内容"
wb.save("xxx.xlsx")
# 创建新的excel表格
wb = workbook.Workbook()
sheet = wb["sheet1"]
cell = sheet.cell(x,y)
cell.value = "需要添加的内容"
wb.save("xxx.xlsx")
- 其他常用操作:
- 创建新sheet:
- wb.create_sheet("名称",下标位置)
- 修改sheet名称:
- sheet.title = "新名"
- 设置默认打开的sheet:
- wb.active = sheet下标
- 复制sheet:
- xxx = wb.copy_worksheet(wb["原sheet"])
- xxx.title = "新sheet"
- 删除sheet:
- del wb["sheet"]
- 创建新sheet:
- xlwt单个表格只能存储65000多行,而openpyxl单个sheet可以存储101万行;
- xlwt的文件名后缀为xls;而openpyxl的文件名后缀为xlsx;
- xlwt写入数据时从0行0列开始;openpyxl从1行1列开始。



