2401_89342662 2025-04-09 22:29 采纳率: 0%
浏览 5

利用类实现实验内容 完成编程

img


利用类实现实验内容,要求能把输入的表格内容保存到csv或文本文件,并能读出以表格显示展示 完成编程代码

  • 写回答

3条回答 默认 最新

  • 紫雾凌寒 新星创作者: 人工智能技术领域 2025-04-09 22:29
    关注

    让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    1. 关键点分析
      - 首先需要创建一个类来处理表格数据的输入、保存和读取操作。
      - 对于保存到文件,要根据选择的文件格式(CSV或文本)进行正确的写入操作。
      - 读取文件时,要能正确解析数据并以表格形式展示。
    2. 解决方案
      - 下面是一个Python示例代码,使用csv模块来处理CSV文件,使用pandas库来更方便地处理表格数据和展示。
    import csv
    import pandas as pd
    
    
    class TableHandler:
        def __init__(self):
            self.data = []
    
        def input_table(self):
            rows = int(input("请输入表格的行数:"))
            cols = int(input("请输入表格的列数:"))
            for _ in range(rows):
                row = []
                for _ in range(cols):
                    value = input("请输入单元格的值:")
                    row.append(value)
                self.data.append(row)
    
        def save_to_csv(self, filename):
            with open(filename, 'w', newline='') as csvfile:
                writer = csv.writer(csvfile)
                writer.writerows(self.data)
    
        def save_to_text(self, filename):
            with open(filename, 'w') as textfile:
                for row in self.data:
                    textfile.write(','.join(row) + '\n')
    
        def read_from_csv(self, filename):
            with open(filename, 'r') as csvfile:
                reader = csv.reader(csvfile)
                self.data = list(reader)
    
        def read_from_text(self, filename):
            with open(filename, 'r') as textfile:
                self.data = [line.strip().split(',') for line in textfile.readlines()]
    
        def display_table(self):
            df = pd.DataFrame(self.data)
            print(df)
    
    
    # 示例使用
    handler = TableHandler()
    handler.input_table()
    choice = input("请选择保存格式(csv/text):")
    if choice.lower() == 'csv':
        filename = input("请输入CSV文件名:")
        handler.save_to_csv(filename)
    elif choice.lower() == 'text':
        filename = input("请输入文本文件名:")
        handler.save_to_text(filename)
    
    read_choice = input("请选择读取格式(csv/text):")
    if read_choice.lower() == 'csv':
        filename = input("请输入要读取的CSV文件名:")
        handler.read_from_csv(filename)
    elif read_choice.lower() == 'text':
        filename = input("请输入要读取的文本文件名:")
        handler.read_from_text(filename)
    
    handler.display_table()
    
    1. 多种解决方案的优缺点
      - 使用csv模块
      • 优点:轻量级,直接操作文件,对CSV格式支持原生,代码简洁易懂。
      • 缺点:对于复杂的表格操作不够灵活,比如数据类型处理等。
      • 使用pandas
      • 优点:功能强大,能方便地处理各种数据格式,包括CSV、文本等,支持数据清洗、分析、可视化等多种操作。
      • 缺点:库较大,引入后可能增加程序的运行时开销,对于只需要简单文件读写的场景略显臃肿。
    2. 总结
      上述代码实现了一个能处理表格数据输入、保存到CSV或文本文件以及读取并展示的类。通过选择合适的保存和读取格式,可以满足不同的需求。使用csv模块进行基础操作,pandas库进行表格展示,提高了代码的实用性和可读性。

    希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月9日