python提取excel中的指定内容,并另存到新的excel表格中

img

只想提取表格中姓名 '检测基因', '检测位点', '监测结果', '突变类型', '正常/风险', '总体评估风险' 这些内容,然后保存到新的Excel中,由于这样的excel有好几百个,一个个输入实在太麻烦了,还请大家帮忙,非常谢谢!

excel 文件给我

使用Python中的pandas库来读取和处理多个Excel表格数据,并将需要的数据保存到新的Excel中。以下是代码示例:

import pandas as pd
import glob

# 读取所有Excel文件
all_files = glob.glob("*.xlsx")

# 定义需要提取的列名
cols_to_keep = ['姓名', '检测基因', '检测位点', '监测结果', '突变类型', '正常/风险', '总体评估风险']

# 遍历每个Excel文件
for file in all_files:
    # 读取表格数据
    df = pd.read_excel(file)
    # 只保留需要的列
    df = df[cols_to_keep]
    # 删除空行
    df.dropna(inplace=True)
    # 保存到新的Excel文件中
    new_file = "new_" + file
    df.to_excel(new_file, index=False)

上面的代码使用了glob模块来获取所有需要处理的Excel文件,并依次读取每个文件中的表格数据。然后,我们只保留我们需要的列数据(即cols_to_keep列表中定义的列)。在删除空行之后,将数据写入新的Excel文件中,文件名为原始文件名的前缀加上"new_"。最后,我们可以得到一个新的Excel文件,里面仅包含我们需要的列数据。

使用Python的pandas库,以下是一个简单的示例代码,注意:需要将file1.xlsx、file2.xlsx和file3.xlsx替换为你实际要读取的文件名,并将姓名、检测基因、检测位点、监测结果、突变类型、正常/风险、总体评估风险替换为你实际需要提取的列名。

import pandas as pd  
  
# 读取多个Excel文件中的数据  
df1 = pd.read_excel('file1.xlsx')  
df2 = pd.read_excel('file2.xlsx')  
df3 = pd.read_excel('file3.xlsx')  
  
# 从每个数据框中选择需要的列  
required_columns = ['姓名', '检测基因', '检测位点', '监测结果', '突变类型', '正常/风险', '总体评估风险']  
df1_required = df1[required_columns]  
df2_required = df2[required_columns]  
df3_required = df3[required_columns]  
  
# 将结果保存到新的Excel文件中  
df1_required.to_excel('output_file1.xlsx', index=False)  
df2_required.to_excel('output_file2.xlsx', index=False)  
df3_required.to_excel('output_file3.xlsx', index=False)

#如有帮助,恭请采纳
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7427909
  • 这篇博客你也可以参考下:Python 对Excel表格相关处理(读取,创建,追加)
  • 除此之外, 这篇博客: [python]统计excel表格某列中每项出现的次数并画柱状图中的 3.2关于字典,列表和数据表的转换: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.将列表变成DataFrame形式,使用pd.concat进行合并

    https://blog.csdn.net/u013385362/article/details/78444518

    内容:
    在这里插入图片描述
    2.将多个列表转换成字典再转换成dataframe

    https://blog.csdn.net/tanlangqie/article/details/80874866

    from pandas.core.frame import DataFrame
    a=[1,2,3,4]#列表a
    b=[5,6,7,8]#列表b
    c={"a" : a,
       "b" : b}#将列表a,b转换成字典
    data=DataFrame(c)#将字典转换成为数据框
    print(data)
    

    这里的a,b都被当成列了
    可以子列表先当成行,再转置

    from pandas.core.frame import DataFrame
    a=[[1,2,3,4],[5,6,7,8]]#包含两个不同的子列表[1,2,3,4]和[5,6,7,8]
    data=DataFrame(a)#这时候是以行为标准写入的
    print(data)
    

    结果:

       0  1  2  3
    0  1  2  3  4
    1  5  6  7  8
    

    转置:

    data=data.T#转置之后得到想要的结果
    data.rename(columns={0:'a',1:'b'},inplace=True)#注意这里0和1都不是字符串
    print(data)
    

    结果:

       a  b 
    
    0  1  5 
    
    1  2  6 
    
    2  3  7 
    
    3  4  8
    

    3.用pd的方法直接将字典列表转换为DataFrame

    https://www.cnblogs.com/zhengxt-520/p/11446121.html

    在这里插入图片描述
    4.由于只有一个key和一个value的字典转成excel表格会出错,下面是解决办法

    https://blog.csdn.net/htbeker/article/details/85053308

    5.列表转字典

    https://blog.csdn.net/loner_fang/article/details/80940600

    在这里插入图片描述

  • 您还可以看一下 曾贤志老师的【曾贤志】用Python处理Excel数据 - 第3季 正则篇课程中的 3.3 综合应用案例3:将不规范时间处理成规范时间小节, 巩固相关知识点