【问题标题】:Importing a CSV file into lists of lists without using modules在不使用模块的情况下将 CSV 文件导入列表列表
【发布时间】:2021-03-22 18:16:10
【问题描述】:

我是一个初学者,我被困在这个练习中。我不允许使用任何模块来解决这个问题。 我有一个 csv 文件,其中 10 行代表每行中的不同房屋,20 列代表天。每天记录房屋温度是否低于 15 摄氏度。文件没有标题。

0,2,4,1,1,2,...
2,2,2,1,1,0,...
1,1,1,2,0,0,...
...

我需要进行一些计算,例如每间房屋每天平均温度低于 15 摄氏度的次数。所以我想我需要一个包含所有行的房屋列表和一个包含相关列的排序值的日期列表,例如 [[0,2,1,...],[2,2, 1,...],...] 来执行这些计算。到目前为止我已经尝试过

file = open("filename.csv")
days = []
for line in file:
    line = line.strip()
    data = line.split(",")
    for x in range(0, len(data)):
        days.append(int(data[x]))
print(days)

这并没有像我希望的那样给我列出的日子。我得到了一个包含所有数据的大列表。我做错了什么?

【问题讨论】:

    标签: python list csv append


    【解决方案1】:

    我认为你可以这样做的有效方法是:

    days = []
    with open('filename.csv') as file:
        lines = file.readlines()
        for line in lines:
             line = line.strip() ##Remove space and newline
             numbers = line.split(',')
             days.append(numbers)
    
    print(days)
    

    【讨论】:

    • 首先,这给了我字符串列表,但即使我将数字转换为 int,我仍然得到与我的代码相同的结果。我需要将天数列表作为每一列的列表。所以几天的输出应该是 [[0,2,1,...],[2,2,1,...],...] 但我得到 [0,2,4,1, 1...1,1,1,2,0,0...]。这是一个大列表的全部数据。
    • @SamRa 这样可以更简单,我已经更新了我的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多