当前位置: 首页 > news >正文

使用Python Pandas库操作Excel表格的技巧

在数据分析和处理中,我们经常需要对Excel表格进行操作。Python Pandas库提供了丰富的API来读取、写入、修改Excel表格。本文将介绍如何使用Python Pandas库操作Excel表格,包括向Excel表格添加新行、创建Excel表格等。

1.向Excel表格添加新行

下面是一个示例函数add_row_to_excel(),用于向Excel表格中添加新行:

def add_row_to_excel(row_data, sheet_name, excel_path, day_num=None):df = pd.read_excel(excel_path, header=0, sheet_name=sheet_name)  if day_num == None:  df_all = pd.DataFrame(data=None) df_all = pd.concat([df_all, df], ignore_index=True)  df = pd.DataFrame(row_data)df_all = pd.concat([df_all, df], ignore_index=True)data_list = df_all.drop_duplicates(keep='first')  df_all.to_excel(excel_path, index=False, sheet_name=sheet_name, encoding='utf-8')  else:  targrt = row_dataday_row_num = day_num + 1  df_dict = df.to_dict()for i in range(0, len(targrt)):key = list(targrt.keys())[i]  try:df_dict[key][day_row_num] = targrt[key][0]  except:  df_dict[int(key)][day_row_num] = targrt[key][0]  df_all = pd.DataFrame(df_dict)with pd.ExcelWriter(excel_path, mode='a', if_sheet_exists='replace') as writer:df_all.to_excel(writer, index=False, sheet_name=sheet_name)

该函数使用pandas库的read_excel()方法读取Excel表格数据,并通过concat()方法将原有数据和新行数据进行合并。其中,row_data参数表示新行的数据信息,sheet_name参数表示要操作的Excel表格中的表名,excel_path参数表示Excel文件路径,day_num参数表示要添加新行的位置。

2.创建Excel表格

下面是一个示例函数creat_excel_sheet(),用于创建Excel表格:

def creat_excel_sheet(sheet_name, stock_code_list, stock_name_list):pd_dict = {'时间': ['初次买入时间', '初次买入价格', '第1天开盘', '第2天开盘', '第3天开盘', '第4天开盘', '第5天开盘', '第6天开盘']}columns = len(stock_code_list)for i in range(0, columns):buy_time = str(d_buy)pd_dict[f'{stock_code_list[int(i)]}'] = [buy_time, "", "", "", "", "", "", ""]pd_dict[f'{stock_name_list[int(i)]}'] = [buy_time, "", "", "", "", "", "", ""]stock_signal_data = pd.DataFrame(pd_dict)try:with pd.ExcelWriter(Stock_templet_path, mode='a', engine='openpyxl') as writer:stock_signal_data.to_excel(writer, sheet_name=sheet_name)except:df = pd.read_excel(Stock_templet_path, sheet_name=sheet_name, dtype={0: "string"})row_column_num = df.shapeif ( row_column_num[1] - 2 ) / 2 < columns:df_dict = df.to_dict()df_dict[f'{stock_code_list[int(columns - 1)]}'] = {0:buy_time, 1:"", 2:"", 3:"", 4:"", 5:"", 6:"", 7:""}df_dict[f'{stock_name_list[int(columns - 1)]}'] = {0:buy_time, 1:"", 2:"", 3:"", 4:"", 5:"", 6:"", 7:""}df_all = pd.DataFrame(df_dict)with pd.ExcelWriter(Stock_templet_path, mode='a', if_sheet_exists='replace') as writer:df_all.to_excel(writer, index=False, sheet_name=sheet_name)

该函数创建一个Excel表格,并向其中写入数据。其中,sheet_name参数表示要创建的表名,stock_code_list和`stock_name_list参数分别表示股票代码和股票名称列表。

在这个函数中,我们首先创建了一个字典pd_dict用于组织Excel表格的列信息。通过循环遍历股票代码和名称列表,我们将它们作为列名添加到字典中,并设置初始值为空字符。最后,将字典转换成DataFrame对象,并使用to_excel()方法写入到Excel表格中。

需要注意的是,如果Excel表格已经存在,则需要使用read_excel()方法读取已有表格数据,并检查是否需要添加新的列信息。

以上便是使用Python Pandas库操作Excel表格的技巧。通过这些API,我们可以轻松地读取、修改和写入Excel表格数据,提高数据处理和分析的效率。

股票自动化处理见:https://yangfei.blog.csdn.net/article/details/129832565?spm=1001.2014.3001.5502

http://www.lryc.cn/news/44676.html

相关文章:

  • LeetCode练习七:动态规划上:线性动态规划
  • 基于正点原子F407开发版和SPI接口屏移植touchgfx完整教程(一)
  • Linux--进程间通信
  • hadoop伪分布式集群搭建
  • Qt 中的信息输出机制:QDebug、QInfo、QWarning、QCritical 的简单介绍和用法
  • C++读写excel文件的的第三方库
  • 【关于Linux中----多线程(一)】
  • 2023年全国最新安全员精选真题及答案34
  • 数据出境是什么意思?我国数据出境合规要求是什么?
  • Liunx——Git工具使用
  • 微软语音合成工具+基于Electron + Vue + ElementPlus + Vite 构建并能将文字转换为语音 MP3
  • Mongodb学习笔记2
  • 学习Tensorflow之基本操作
  • 《Spring系列》第2章 解析XML获取Bean
  • 小红书20230326暑假实习笔试
  • 【java】不要二、把字符串转成整数
  • 数据的质量管控工作
  • 【SpringBoot笔记29】SpringBoot集成RabbitMQ消息队列
  • 前端架构师-week2-脚手架架构设计和框架搭建
  • CMake项目实战指令详细分析
  • 【深度学习】——LSTM参数设置
  • 计算机网络高频60问 背完差不多了!!
  • 路由策略小实验
  • C语言realloc背后的内存管理
  • GPT可以被放任的在问答区应用吗?
  • 限制网络接口的一些简介(一)
  • ChatGPT如何批量撰写最新的热点自媒体文章
  • GPT4和ChatGPT的区别,太让人震撼
  • redis实战---分布式锁--单机篇
  • Java正则表达式