存储成csv格式文件和存储成Excel文件,这两种不同的存储方式需要引用的模块也是不同的。操作csv文件我们需要借助csv模块;操作xlsx文件则需要借助openpyxl模块
一、CSV 写
import csv
#引用csv模块。
csv_file = open('file\\text.csv','w',newline='',encoding='utf-8')
#创建csv文件,传入参数:文件名“test.csv”、写入模式“w”、newline=''、encoding='utf-8'。
writer = csv.writer(csv_file)
# 用csv.writer()函数创建一个writer对象。
writer.writerow(['歌手','歌曲'])
#借助writerow()函数可以在csv文件里写入一行文字 "歌手"和“歌曲”。
writer.writerow(['华晨宇','齐天'])
#在csv文件里写入一行文字['华晨宇','齐天']
csv_file.close()
#写入完成后,关闭文件!
创建新的csv文件,命名为“test.csv”
“w”就是writer,即文件写入模式,它会以覆盖原内容的形式写入新添加的内容
newline=’ '参数可以避免csv文件出现两倍的行距(就是能避免表格的行与行之间出现空白行)
encoding=‘utf-8’,可以避免编码问题导致的报错或乱码
创建完csv文件后,我们要借助csv.writer()函数来建立一个writer对象
最后csv_file.close()关闭文件。
打开创建的CVS文件,就能看到内容
二、CSV 读
import csv
csv_file = open('file\\text.csv','r',newline='',encoding='utf-8')
#open()打开“text.csv”文件,'r'是reader读取模式,newline=''是避免出现两倍行距。encoding='utf-8'能避免编码问题导致的报错或乱码
reader = csv.reader(csv_file)
#用csv.reader()函数创建一个reader对象
#用for循环遍历reader对象的每一行。打印row,就能读取出“text.csv”文件里的内容
for row in reader:
print(row)
读取结果:
三、Xlsx 写
我们得先提前安装好openpyxl模块。
(安装方法:window电脑:在终端输入命令:pip install openpyxl,按下enter键)
import openpyxl
#引用openpyxl
wb=openpyxl.Workbook()
#利用openpyxl.Workbook()函数创建新的空的Excel文件
sheet=wb.active
#wb.active就是获取这个工作薄的活动表
sheet.title='华晨宇'
#可以用.title给工作表重命名。现在第一个工作表的名称就会由原来默认的“sheet1”改为"华晨宇"。
sheet['A1'] = '歌曲'
#就是往A1的单元格中写入了'歌曲'。
rows= [['我管你','异类','国王与乞丐'],['造物者','我的滑板鞋2016']]
for i in rows:
sheet.append(i)
#遍历rows,同时把遍历的内容添加到表格里,这样就实现了多行写入
print(rows)
wb.save('file\\HCY.xlsx')
#保存新建的Excel文件,并命名为“HCY.xlsx”
打开保存的文件,可看到结果
四、Xlsx 读
import openpyxl
#引用openpyxl
wb = openpyxl.load_workbook('file\\HCY.xlsx')
#调用openpyxl.load_workbook()函数,打开“HCY.xlsx”文件
sheet = wb['华晨宇']
#获取“HCY.xlsx”工作薄中名为“华晨宇”的工作表
sheetname = wb.sheetnames
print(sheetname)
#sheetnames是用来获取工作薄工作表的名字
A1_cell = sheet['A1']
A1_value = A1_cell.value
print(A1_value)
#把“华晨宇”工作表中A1单元格赋值给A1_cell,再利用单元格value属性,就能打印出A1单元格的值。
运行可看到结果: