天天看点

excel和csvexcel 文件操作csv 读写操作

excel 文件操作

  1. import openpyxl
    
    wb = openpyxl.load_workbook('files/text1.xls')
    
    # 获取工作表名
    names = wb.sheetnames
    
    # 获取活跃表
    sheet1 = wb.active
    
    # 根据表名获取指定表
    sheet2 = wb['Sheet1']
    
    # 获取表名
    sheet1.title
    
    # 获取最大行数
    sheet1.max_row
    
    # 获取最大列数
    sheet1.max_column
    
    # 获取指定单元格
    cell1 = sheet1['A2']
    
    # 获取单元格的内容
    cell2.value
    
    # 获取整个表中的单元格内容
    for r in range(1, sheet1.max_row+1):
    	for c in range(1, sheet1.max_column+1):
            print(sheet1.cell(r,c).value, end=' ')
        print()
        	
               

csv 读写操作

  1. import csv
    
    # 1. 创建reader对象
    # 1)
    # csv.reader(文件路径)  -    读数据的时候每一行内容对应一个列表(返回值是包含文件每行内容的迭代器)
    # csv.DictReader(文件路径)  -  读数据的时候每一行内容对应一个字典
    f = open('files/2018年北京积分落户数据.csv', encoding='utf-8', newline='')
    # reader = csv.reader(f)
    reader = csv.DictReader(f)
    
    # 2) 通过reader读数据
    print(next(reader))
    print(next(reader))
    
    # 2. 创建文件对应的writer对象
    # csv.writer(文件对象)
    f = open('files/text1.csv', 'w', encoding='utf-8')
    writer = csv.writer(f)
    
    # 写数据:writer.writerow(列表)  一次写一行
    writer.writerow(['name', 'age', 'score', 'gender'])
    writer.writerows([
        ['小明', 18, 100, '男'],
        ['小花', 22, 88, '女'],
        ['小王', 33, 22, '男']
    ])
    
    # 2) csv.DictWriter(文件对象)
    f = open('files/text1.csv', 'w', encoding='utf-8')
    writer = csv.DictWriter(f, ['name', 'age', 'score', 'gender'])
    
    # 写数据
    writer.writeheader()   # 将原来设定好的字典的键作为第一行内容写入文件
    writer.writerow({'name': '小明', 'age': 18, 'score': 100, 'gender': '男'})