Python读取写入数据到Excel文件

【Linux干货教程】Ubuntu Linux 换源详细教程

大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我!

本文目录

  • 第一步:读取Excel文件
  • 第二步:写入Excel文件
  • 第三步:追加写入Excel文件 提示存文件时不要打开文件要不然会报错
  • 第四步:通过pandas读取数据
  • 第五步:将图片写入Excel文件中
  • 第六步:通过pandas写入数据
  • 总结

第一步:读取Excel文件


import xlrd

# 打开文件
workbook = xlrd.open_workbook(r'D:\PycharmProjects\reptile\XLSX 工作表 .xlsx')
# 获取所有sheet
print(workbook.sheet_names())  # ['sheet1', 'sheet2']
# 根据sheet索引或者名称获取sheet内容
sheet1 = workbook.sheet_by_index(0)  # sheet索引从0开始
print('222', sheet1.name, sheet1.nrows, sheet1.ncols)  # sheet1的名称,行数,列数

order_oumber = sheet1.cell_value(2, 3)  # 第三行第四列

# 获取整行和整列的值(数组)
rows = sheet1.row_values(4)  # 获取第四行内容
cols = sheet1.col_values(3)  # 获取第三列内容
print('333', rows)
print('444', cols)

# 获取单元格内容,三种方法
print(sheet1.cell(1, 3).value.encode('utf-8'))
print(sheet1.cell_value(1, 3))
print(sheet1.row(1)[3])

第二步:写入Excel文件


import xlwt

"""这种方法会清空文件原有的内容"""
workbook = xlwt.Workbook(encoding='utf-8')
booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
# 存第一行cell(1,1)和cell(1,2)
booksheet.write(0, 0, 34)  # 第一行第一列
booksheet.write(0, 2, 55)  # 第一行第三列
booksheet.write(2, 2, 555)  # 第三行第三列
rowdata = [12, 13, 14]
for i in range(len(rowdata)):
    booksheet.write(8, i, rowdata[i])  # 第9行1,2,3列存入12,13,14
workbook.save('XLSX 工作表111.xlsx')  # 保存文件名


第三步:追加写入Excel文件 提示存文件时不要打开文件要不然会报错


from xlutils.copy import copy

"""这种是追加写入数据,不清空原有的数据"""
workbook1 = xlrd.open_workbook(r'D:\PycharmProjects\reptile\XLSX 工作表  - 副本.xlsx')  # 文件路径
xlsc = copy(workbook1)
shtc = xlsc.get_sheet(0)
# (行,列,要追加的值)
shtc.write(5, 1, "追加得数11")
shtc.write(5, 5, "追加得数22")
shtc.write(5, 9, "追加得数33")
shtc.write(5, 8, "追加得数44")
xlsc.save('XLSX 工作表  - 副本.xlsx')  # 保存文件名


第四步:通过pandas读取数据


import pandas as pd

"""存数据"""
csv_mat = pd.np.empty((0, 2), float)
csv_mat = pd.np.append(csv_mat, [[43, 55]], axis=0)
csv_mat = pd.np.append(csv_mat, [[65, 67]], axis=0)
csv_pd = pd.DataFrame(csv_mat)
csv_pd.to_csv("tests.csv", sep=',', header=False, index=False)

"""取数据"""
filename = r"D:\PycharmProjects\reptile\tests.csv"
csv_data = pd.read_csv(filename, header=None)
csv_data = pd.np.array(csv_data, dtype=float)

第五步:将图片写入Excel文件中


import xlsxwriter


for i in range(1, 21):
    book = xlsxwriter.Workbook("000 .xls")		# 保存的文件名
    sheet = book.add_worksheet('demo')			
    print(i)
    sheet.insert_image('B' + str(i), r"D:\PycharmProjects\reptile\图片\\" + str(i) + '.jpg')	# 存入表格的位置和图片的路径
    book.close()


第六步:通过pandas写入数据


import pandas as pd

def writeDataIntoExcel(xlsPath: str, data: dict):
	writer = pd.ExcelWriter(xlsPath)
	sheetNames = data.keys()  # 获取所有sheet的名称
	# sheets是要写入的excel工作簿名称列表
	data = pd.DataFrame(data)
	for sheetName in sheetNames:
		data.to_excel(writer, sheet_name=sheetName)
	# 保存writer中的数据至excel
	# 如果省略该语句,则数据不会写入到上边创建的excel文件中
	writer.save()


if __name__ == '__main__':
	data = {"name":["lily","ailcie"],"cost":[100,20]}
	xlspath = "3.xls"
	writeDataIntoExcel(xlspath,data)

总结

Hello,各位看官老爷们好,洲洲已经建立了CSDN技术交流群,如果你很感兴趣,可以私信我加入我的社群。

📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。

📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。

📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有

📝网络的风口只会越来越大,风浪越大,鱼越贵!欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远!

📝关注我的公众号(与CSDN同ID:程序员洲洲)可以获得一份Java 10万字面试宝典及相关资料!~

📝想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年7月15日
下一篇 2023年7月15日

相关推荐