python代码: 1. 使用excel进行文档管理,A列序号,B列项目名称,C列文档名称,D列供应商名称,E列需求总条数,F列FC条数 2. 可以添加文档,修改某个供应商某个文档的FC条数 3. 可以对同一个文档根据FC条数进行排序 4. 可以查看某个供应商的数据 5. 需要有输入合法性校验
时间: 2024-03-24 08:40:53 浏览: 86
以下是一份基于上一个问题的代码实现,加入了输入合法性校验:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('document.xlsx')
# 添加文档
def add_document(num, name, doc_name, supplier, total_req, fc):
global df
if not isinstance(num, int) or not isinstance(total_req, int) or not isinstance(fc, int):
print('序号、需求总条数和FC条数必须为整数!')
return
if num in df['序号'].values:
print('序号重复!')
return
if supplier not in df['供应商名称'].values:
print('供应商不存在!')
return
new_row = {'序号': num, '项目名称': name, '文档名称': doc_name, '供应商名称': supplier, '需求总条数': total_req, 'FC条数': fc}
df = df.append(new_row, ignore_index=True)
df.to_excel('document.xlsx', index=False)
print('添加成功!')
# 修改FC条数
def update_fc(supplier, doc_name, fc):
global df
if not isinstance(fc, int):
print('FC条数必须为整数!')
return
if supplier not in df['供应商名称'].values:
print('供应商不存在!')
return
if doc_name not in df.loc[df['供应商名称'] == supplier]['文档名称'].values:
print('文档不存在!')
return
df.loc[(df['供应商名称'] == supplier) & (df['文档名称'] == doc_name), 'FC条数'] = fc
df.to_excel('document.xlsx', index=False)
print('修改成功!')
# 排序
def sort_by_fc():
global df
df = df.sort_values(by=['FC条数'], ascending=False)
df.to_excel('document.xlsx', index=False)
print('排序成功!')
# 查看供应商数据
def view_supplier_data(supplier):
global df
if supplier not in df['供应商名称'].values:
print('供应商不存在!')
return
return df.loc[df['供应商名称'] == supplier]
# 测试代码
add_document(1, '测试项目', '文档1', '供应商A', 100, 50)
update_fc('供应商A', '文档1', 30)
sort_by_fc()
print(view_supplier_data('供应商A'))
```
需要注意的是,这份代码仅对输入的数据类型和合法性进行了简单的校验,实际使用时需要根据具体需求进行修改和完善。
阅读全文