使用 python 拆分 excel 文件

文章讲述了如何在bash脚本中检查Python3和pandas库的安装,然后读取Excel文件,验证输入参数,根据行数将其拆分成10个子文件,并保存到子文件夹中。脚本旨在处理大文件,确保正确执行和文件管理。
摘要由CSDN通过智能技术生成

检查 Python3 和 pandas 库是否已安装

if ! command -v python3 &> /dev/null; then
echo “需要安装 Python3。”
exit 1
fi

if ! python3 -c “import pandas” &> /dev/null; then
echo “需要安装 pandas 库(对于Python3)。”
exit 1
fi

输入参数验证

if [ $# -ne 1 ]; then
echo “请提供要拆分的 Excel 文件的路径作为参数。”
exit 1
fi

input_file=“$1”

使用 pandas 读取 Excel 文件

python3 << EOF
import pandas as pd

读取 Excel 文件

try:
df = pd.read_excel(“$input_file”)
except Exception as e:
print(“读取 Excel 文件时发生错误:”, str(e))
exit(1)

获取总行数

total_rows = len(df)

计算每个文件应包含的行数(向上取整)

rows_per_file = -(-total_rows // 2)

拆分并保存到两个文件

file1 = df[:rows_per_file]
file2 = df[rows_per_file:]
try:
file1.to_excel(“output1.xlsx”, index=False)
file2.to_excel(“output2.xlsx”, index=False)
except Exception as e:
print(“保存拆分文件时发生错误:”, str(e))
exit(1)

print(“拆分完成。”)
EOF


#### 拆成 10 个



#!/bin/bash

检查 Python3 和 pandas 库是否已安装

if ! command -v python3 &> /dev/null; then
echo “需要安装 Python3。”
exit 1
fi

if ! python3 -c “import pandas” &> /dev/null; then
echo “需要安装 pandas 库(对于Python3)。”
exit 1
fi

输入参数验证

if [ $# -ne 1 ]; then
echo “请提供要拆分的 Excel 文件的路径作为参数。”
exit 1
fi

input_file=“$1”

使用 pandas 读取 Excel 文件

python3 << EOF
import pandas as pd
import math

读取 Excel 文件

try:
df = pd.read_excel(“$input_file”)
except Exception as e:
print(“读取 Excel 文件时发生错误:”, str(e))
exit(1)

获取总行数

total_rows = len(df)

计算每个文件应包含的行数(向上取整)

rows_per_file = math.ceil(total_rows / 10)

拆分成多个文件

for i in range(10):
start_row = i * rows_per_file
end_row = (i + 1) * rows_per_file
file = df[start_row:end_row]
try:
file.to_excel(f"output{i+1}.xlsx", index=False)
except Exception as e:
print(f"保存拆分文件 {i+1} 时发生错误:", str(e))
exit(1)

print(“拆分完成。”)
EOF


#### 把拆分的子文件直接复制到指定子文件夹(保持子文件和原始 excel 文件同名)



#!/bin/bash

检查 Python3 和 pandas 库是否已安装

if ! command -v python3 &> /dev/null; then
echo “需要安装 Python3。”
exit 1
fi

if ! python3 -c “import pandas” &> /dev/null; then
echo “需要安装 pandas 库(对于Python3)。”
exit 1
fi

input_file=“$1”
output_folder=“$2”

使用 pandas 读取 Excel 文件并拆分

python3 << EOF
import pandas as pd
import math
import os

读取 Excel 文件

try:
df = pd.read_excel(“$input_file”)
except Exception as e:
print(“读取 Excel 文件时发生错误:”, str(e))
exit(1)

获取总行数

total_rows = len(df)

计算每个文件应包含的行数(向上取整)

rows_per_file = math.ceil(total_rows / 10)

拆分成多个文件

for i in range(10):
start_row = i * rows_per_file
end_row = (i + 1) * rows_per_file
file = df[start_row:end_row]

# 子文件夹路径
subfolder = f"subtask{i+1}/prepareInfo"
target_subfolder = os.path.join(subfolder)

# 保存拆分文件到子文件夹
output_file = os.path.join(target_subfolder, f"$input_file")
try:
    file.to_excel(output_file, index=False)
except Exception as e:
    print(f"保存拆分文件 {i+1} 时发生错误:", str(e))
    exit(1)

print(“拆分完成。”)
EOF


### 3、运行脚本(在特定文件夹内)



chmod +x split.sh
source my_pandas_venv/bin/activate
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

8edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值