1、下面是一张储存了数据的excel-xlsx格式的表,用python读取第3行到12行的数据,不要表头和表尾
2、注意时间需要设置为文本格式
3、准备python脚本和需要用到pandas库
当前python环境:3.9.11
下载第三方库:
pip install pandas
4、读取excel表格的python脚本
skiprows=1和iloc[:-1],分别代表读取指定excel的时候。跳过前一行,然后去掉最后一行,返回剩余的数据
import pandas as pd
def test_01():
# lists=['学生成绩表.xlsx']
# for i in lists:
dfs = []
# 从指定的Excel文件中读取数据,跳过前一行,然后去掉最后一行,返回剩余的数据。
df = pd.read_excel('学生成绩表.xlsx', skiprows=1).iloc[:-1]
dfs.append(df)
combined_df = pd.concat(dfs, ignore_index=True)
# 将合并后的 DataFrame 转换为列表
combined_list = combined_df.values.tolist()
# 输出合并后的列表
print(combined_list)
print(len(combined_list))
运行脚本后,读取到了第3行到12行的数据。被读取的表和脚本放在同一目录
5、把读取到的excel数据汇总到一张新表中且新表从指定行数第4行,插入数据
startrow=3代表数据从第4行开始插入
import pandas as pd
def test_01():
# lists=['学生成绩表.xlsx']
# for i in lists:
dfs = []
# 从指定的Excel文件中读取数据,跳过前一行,然后去掉最后一行,返回剩余的数据。
df = pd.read_excel('学生成绩表.xlsx', skiprows=1).iloc[:-1]
dfs.append(df)
combined_df = pd.concat(dfs, ignore_index=True)
# 将合并后的 DataFrame 转换为列表
combined_list = combined_df.values.tolist()
# 输出合并后的列表
print(combined_list)
print(len(combined_list))
# 创建一个 DataFrame 对象
df = pd.DataFrame(combined_list[1:], columns=combined_list[0])
# 将df中的数据导出到名为:######.xlsx的Excel文件中,不包含索引,从文件的第4行开始写入数据。
df.to_excel('学生成绩01.xlsx', index=False,startrow=3)
test_01()
执行成功,生成的表中数据如下:
6、多张格式一样的表的数据合到一张新的excel表中
表2、表3
python脚本,采用的是for循环读取list集合里的表格
import pandas as pd
def test_01():
lists=['学生成绩表.xlsx','学生成绩表2.xlsx','学生成绩表3.xlsx']
dfs = []
for file in lists:
# 从指定的Excel文件中读取数据,跳过前一行,然后去掉最后一行,返回剩余的数据。
df = pd.read_excel(file, skiprows=1).iloc[:-1]
dfs.append(df)
combined_df = pd.concat(dfs, ignore_index=True)
# 将合并后的 DataFrame 转换为列表
combined_list = combined_df.values.tolist()
# 输出合并后的列表
print(combined_list)
print(len(combined_list))
# 创建一个 DataFrame 对象
df = pd.DataFrame(combined_list[1:], columns=combined_list[0])
# 将df中的数据导出到名为:######.xlsx的Excel文件中,不包含索引,从文件的第4行开始写入数据。
df.to_excel('学生成绩汇总.xlsx', index=False,startrow=3)
test_01()