csv的读写操作
- writeheader():将fieldnames对应的参数以列名的形式写入表格
- writerow():单行写入,以字典的形式单行写入
- writerows():多行写入,以列表的形式写入,列表中的元素为字典,一个字典代表一行
import csv
with open('王者荣耀装备.csv','w',encoding='utf-8',newline='') as f:
myWriter = csv.DictWriter(f,fieldnames=['类型','名称','价格'])
myWriter.writeheader()
myWriter.writerow({'类型': '法师','名称':'噬神之书','价格':'2080'})
myWriter.writerows(
[
{'类型': '打野','名称':'打野刀','价格':'750'},
{'类型': '游走','名称':'学识之石','价格':'300'},
{'类型': '移动','名称':'冷静之靴','价格':'710'}
]
)
print('写入完成')
with open('王者荣耀装备.csv','r',encoding='utf-8') as f:
result = csv.DictReader(f)
for i in result:
print(i,type(i))
excel文件
- excel文件:后缀名为xls,后缀名为xlsx
xls:office2007之前使用的后缀名
xlsx:office2007之后使用的后缀名版本 - 区别
文件大小 :保存同样的数据,xlsx文件要小于xls文件
性能 :xlsx优于xls
容量 :xlsx大于xls,xlsx最多保存10485766行16000+列;xls最多65536行,256列 - 使用三方模块
openpyxl,xlrd,xlwt,win32com,xlsxwriting,xlutils等 - openpysl(掌握): 操作新版xlsx后缀名
xlrd,xlwt(了解,会用):旧版后缀名使用新软件打开,另存为,可以实现后缀名修改 - pip install openpyxl
pip3 install openpyxl
xlsx文件读操作
from openpyxl import load_workbook
wb = load_workbook('小宝剑大药房(高新店)2018年销售数据.xlsx')
print(wb)
print(wb.sheetnames)
print(wb.active)
print(wb['工作表 1'])
sheet = wb['工作表 1']
result1 = sheet.cell(2,1)
print(result1)
result2 = sheet['A2']
print(result2)
print(result1.value)
print(result2.value)
rows = sheet.max_row
cols = sheet.max_column
print(rows,cols)
for row in range(1,rows+1):
for col in range(1,cols+1):
print(sheet.cell(row,col).value)
wb.save('小宝剑大药房(高新店)2018年销售数据.xlsx')
xlsx写操作
from openpyxl import load_workbook, Workbook
import os
if os.path.exists('学生信息.xlsx'):
wb = load_workbook('学生信息.xlsx')
else:
wb = Workbook()
sheetlist = wb.sheetnames
if '一年级一班' not in sheetlist:
wb.create_sheet('一年级一班')
print(wb.sheetnames)
if '一年级一班1' in sheetlist:
wb.remove(wb['一年级一班1'])
sheet = wb['一年级一班']
sheet.cell(1,1).value = '张三'
wb.save('学生信息.xlsx')
os模块
import os
namelist = os.listdir()
print(namelist)
datalist = os.listdir('成都链家二手房数据')
print(datalist)
for i in datalist:
if i[i.rindex('.'):] == '.csv':
pass
for name in os.listdir('成都链家二手房数据'):
if name[name.rfind('.'):] == '.csv':
old_path = f'./成都链家二手房数据/{name}'
new_path = f'./成都链家/{name[2:]}'
os.rename(old_path,new_path)
os.system('cls')
家/{name[2:]}'
os.rename(old_path,new_path)
os.system('cls')