能不能将修改后的代码完整的发给我
时间: 2024-09-24 07:17:10 浏览: 60
520表白+网页代码+可直接浏览器运行+可修改
5星 · 资源好评率100%
当然可以,这里是完整更新后的代码,包括数据清洗和导出功能:
```python
import gradio as gr
import pandas as pd
import os
import openpyxl
from openpyxl import Workbook
# 数据清洗函数
def clean_data(tables):
cleaned_tables = []
for table in tables:
cleaned_table = pd.DataFrame(table).dropna() # 删除含有缺失值的行
cleaned_table = cleaned_table.astype({c: str for c in cleaned_table.columns}) # 假设所有的数据都适合转化为字符串类型,如有其他类型可根据实际情况调整
cleaned_tables.append(cleaned_table.values.tolist())
return cleaned_tables
# 从Excel文件读取并清洗数据
def read_excel_and_clean(file):
tables = read_excel(file)
cleaned_tables = clean_data(tables)
return cleaned_tables
# 保存清洗后的数据到新Excel文件
def write_to_excel(cleaned_data, filename):
wb = Workbook()
for idx, table in enumerate(cleaned_data):
ws = wb.create_sheet(title=f"Sheet_{idx+1}")
ws.append(table)
wb.save(filename)
# Gradio界面
with gr.Blocks() as app:
with gr.Tab("输入内容1"):
start_input = gr.File(label="上传Excel文件1")
cleaned_output = gr.DataFrame(label="清洗后的数据")
export_button = gr.Button("导出清洗后的Excel")
iface = gr.Button("上传")
iface.click(read_excel_and_clean, inputs=[start_input], outputs=cleaned_output)
@export_button.on_click
def on_export(output_data):
output_filename = "cleaned_" + file.orig_name
write_to_excel(output_data, output_filename)
gr.outputs["cleaned_output"].clear() # 清空已有的输出
gr.outputs["cleaned_output"].add_text(f"导出文件 {output_filename} 成功.")
gr.Markdown("""
提取上传文件中的所有表格,清洗数据后输出,并提供导出选项。
""")
app.launch(server_name="192.168.77.133", server_port=7860, share=True)
阅读全文