欢迎访问宙启技术站
智能推送

使用Python实现getTableClass()函数生成数据表类

发布时间:2023-12-26 08:39:04

下面是一个使用Python实现getTableClass()函数生成数据表类的例子:

import csv

def getTableClass(file_name):
    class Data_Table:
        def __init__(self, data):
            self.data = data

        def row_count(self):
            return len(self.data)

        def column_count(self):
            return len(self.data[0])

        def get_value(self, row, column):
            return self.data[row][column]

        def set_value(self, row, column, value):
            self.data[row][column] = value

    with open(file_name, 'r') as file:
        csv_reader = csv.reader(file)
        data_table = list(csv_reader)

    return Data_Table(data_table)


# 使用例子

# 构造数据表 CSV 文件
with open('data.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(['Name', 'Age', 'Gender'])
    writer.writerow(['John', '25', 'Male'])
    writer.writerow(['Emily', '30', 'Female'])
    writer.writerow(['Michael', '35', 'Male'])

# 生成数据表类对象
table = getTableClass('data.csv')

# 获取行数和列数
print(f"Row count: {table.row_count()}")
print(f"Column count: {table.column_count()}")

# 获取指定单元格的值
print(f"Value at (1, 0): {table.get_value(1, 0)}")  # Output: Emily

# 修改指定单元格的值
table.set_value(2, 1, '36')
print(f"Value at (2, 1) after modification: {table.get_value(2, 1)}")  # Output: 36

上述代码中的getTableClass()函数实现了从一个CSV文件中读取数据,构造一个数据表类对象,并返回该对象。