python写.csv文件需要导入csv库;python读excel依赖xlrd模块,写excel依赖xlwt模块,话不多说,直接上代码。
import csv import xlrd import xlwt def csv_write_func(): """数据写入csv文件""" # 打开文件 规定编码方式 fp = open('./ttest.csv', 'a', encoding='utf-8') # 创建csv writer对象,并将打开的文件的文件描述符传入 csv_writer = csv.writer(fp) # 将要写的东西按行装入列表 一行行写入, 列表中元素在csv文件中用逗号分割 csv_writer.writerow(['姓名', '地区']) # 最后关闭文件 fp.close() def read_excel(): """利用xlrd模块读取excel""" # 打开指定excel data = xlrd.open_workbook('test.xls') # data为book工作簿对象,可以访问每张表 table = data.sheets()[0] # 通过索引顺序获取 table = data.sheet_by_index(0) # 同上 table = data.sheet_by_name('Sheet1') #按照表名获取 # 获取表中单元格属性 cell_A1 = table.cell(0, 0) print(cell_A1.value) # value表示单元格内内容,可输出查看 cell_C4 = table.cell(2, 3) print(cell_C4.value) # 利用行列数量信息输出整个表格,输出每行信息 rows, cols = table.nrows, table.ncols for i in range(rows): print(table.row_values(i)) # table.row_values(i)表示表内第i行的内容,下表从0开始 def write_excel(): """利用xlwt模块写excel""" # 构造工作簿对象 book = xlwt.Workbook(encoding='utf-8')
# 创建新表 sheet = book.add_sheet('sheet_test', cell_overwrite_ok=True) # 单元格可以重复写 # 和读excel类似,利用下表行列进行内容写入,从(0,0)(左上)开始
sheet.write(0, 0, 'zhangsan')
# 也可以先确定具体某行,再在某行的第几个单元格写入,下表从0开始 sheet.row(0).write(1, '男') sheet.write(0, 2, 23) sheet.col(2).width = 4000 # 单位1/20pt 可以设置列宽等属性,tab键查看其他属性,不多赘述 book.save('test2.xls') if __name__ == '__main__': read_excel() write_excel()