首页 > 解决方案 > 使用类和 csv 文件进行转换

问题描述

import csv

class Converter:       
    def __init__(self,csv):
        with open(csv) as f:
            obj = csv.reader(f)
            conversions = list(obj)
            conversions.pop(0)

if __name__ == "__main__":
    with open("table.csv", "w") as f:
        f.write("type,ratio\ncm_to_inch,0.393701\ninch_to_cm,2.54")

    cvt = Converter("table.csv")

    r1 = cvt.convert(5.5, "cm", "inch") 
    r2 = cvt.convert(100, "inch", "cm") 

    print(f"{r1}\n{r2}")

所以我试图使用类将每个值从厘米转换为英寸,将英寸转换为厘米。这些转换率将写入 csv 文件。但是,当我激活此代码时, AttributeError: 'str' object has no attribute 'reader' 不断弹出。请帮忙

标签: csv

解决方案


尝试将构造函数参数的名称更改为 csv 以外的名称可能是一个解决问题,例如 csv_name,因为当您实际尝试在 csv.render() 调用中引用导入的 csv 模块时,这就是所指的内容。


推荐阅读