学习日志(五) Python操作csv Excel

Python 持久化操作 - CSV、Excel

  • Python 持久化操作 - CSV、Excel
    • 1. Python操作csv
      • 1.1 读CSV
      • 1.2 写CSV
      • 练习
    • 2. Python操作Excel
      • 2.1 利用 xlrd 模块操作 Excel
      • 2.2 利用 xlwt 模块 写入excel文件
      • 2.3 xlutils结合xlrd操作Excel
      • 2.4 利用openpyxl操作Excel

1. Python操作csv

1.1 读CSV

​ import csv

​ 打开文件,用 with open(“./csv/文件名.csv”,”r”) as csvfile:

​ 读取csv文件,返回的是迭代类型 read = csv.reader(csvfile)

​ for i in read: print(i)

import csv#导入模块
#打开csv文件
with open("E:/Users/DELL/PycharmProjects/untitled1/销售相关企业信息.csv","r") as csvfile:#r代表read
    #读取文件
    read = csv.reader(csvfile)
    # print(read)
    for i in read:#使用遍历的方式来读取文件
        print(i)

1.2 写CSV

with open('./csvtest.csv','w')as csvfile:#这里的w代表write写入
    writer = csv.writer(csvfile)
    writer.writerow(['id','url','keywords'])
    data = [
        ('1','http://www.xiaoheiseo.com/','小黑'),
        ('2','http://www.baidu.com/','百度'),
        ('3','http://www.jd.com/','京东')

    ]
    writer.writerows(data)#多行写入时为writerows 加s

练习

with open('./csvtest.csv','w',newline='')as csvfile:#不需要隔行时可加newline=''
    writer = csv.writer(csvfile)
    data = [
        ('1001','上海','经济'),
        ('1002','北京','政治'),
        ('1003','成都','文化')

    ]
    writer.writerows(data)

2. Python操作Excel

2.1 利用 xlrd 模块操作 Excel

import xlrd # 导入xlrd模块
# 读取本地csv文件,打开excel文件(默认是rb方式打开)
myWorkbook = xlrd.open_workbook('./某公司贸易数据.xlsx')
# 获取excel工作表
mySheets = myWorkbook.sheets()  # 获取工作表
mySheet = mySheets[0]  # 通过索引获取
mySheet = myWorkbook.sheet_by_index(1) #通过索引顺序获得
mySheet = myWorkbook.sheet_by_name('产品类别')  #通过名字获取
# 获取行数和列数
nrows = mySheet.nrows
ncols = mySheet.ncols
print("The rows: %d" % nrows)#获取行数nrows
print("The cols: %d" % ncols)#获取列数ncols
# 获取一行和一列
for i in range(nrows):
    myRowValues = mySheet.row_values(i)
    print(myRowValues)
for j in range(ncols):
    myColValues = mySheet.col_values(j)
    print(myColValues)
# 读取单元格数据 
for i in range(nrows):
    for j in range(ncols):
        mycell = mySheet.cell(i, j)#获取单元格,i是行数,j是列数,行数和列数都是从0开始计数
        mycellvalue = mycell.value #通过单元格获取单元格数据 
        print(mycellvalue)
mycellvalue = mySheet.cell_value(0, 0)#根据行和列的索引获取单元格数据
#mySheet.cell_value(0, 0) = “newValues”# 改变i,j值则改变单元格 (注意: xlrd是只读的,不能修改)
print(mycellvalue)

2.2 利用 xlwt 模块 写入excel文件

一般在Python中主要更常见一种做法是利用xlrd模块来读取Excel文件内容, 利用xlwt模块来写入Excel文件内容

import xlwt   # 导入xlwt模块
wbk = xlwt.Workbook() # 创建工作簿
sheet = wbk.add_sheet(‘表01’) # 创建工作表
sheet.write(0,1,'test text’) # 在一列二行写入信息
wbk.save(‘./excel/test.xls’) # 保存 Excel 文件
print("ok")

2.3 xlutils结合xlrd操作Excel

import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook('./某公司贸易数据.xlsx')
new_workbook = copy(workbook)#拷贝一份工作簿
ws = new_workbook.get_sheet(0)#获取第一张工作簿
ws.write(3,0,'这是修改的')#根据索引修改对应的单元格数据
new_workbook.save('./rongda.xls')

2.4 利用openpyxl操作Excel

#openpyxl对excel文件进行读写操作
from openpyxl import Workbook 
from openpyxl import load_workbook 
from openpyxl.writer.excel import ExcelWriter 
workbook_ = load_workbook("./excel/某公司贸易数据(northwind).xlsx") 
sheetnames = workbook_.get_sheet_names()  # 获得所有表单名字 
print(sheetnames) 
sheet = workbook_.get_sheet_by_name()#获取其中一张表单 
print(sheet.cell(row=3, column=3).value) 
sheet['A1'] = '47' 
workbook_.save("./excel/northwind_new.xlsx")
#创建一张表
workbook_ = load_workbook('./某公司贸易数据.xlsx)
sheet1 = workbook_.creat_sheet(index = 7,title = 'now sheet')#index是增加的位置,title是表名
sheet1['A1'] = 'hello'
sheet2['A2'] = 'world'

你可能感兴趣的:(python持久化操作,AI,之路)