【问题标题】:How to read data from csv and print out specifics in python如何从 csv 读取数据并在 python 中打印出细节
【发布时间】:2017-11-09 00:41:06
【问题描述】:

所以我有一个包含一堆桥数据的 csv 文件。有 25 座桥梁,每个桥梁编号在第 1 列。其余列有相应的桥梁状况数据。例如在第 1 行,1 是桥号,6 是 1992 年的状况等级,8 是 1993 年的状况等级,8 是 1994 年的状况等级,7 是 1995 年的状况等级,依此类推。

到目前为止,我已经编写了一个代码,要求用户输入 1-25 之间的桥号,而我想要实现的输出是输入的桥号所在的各种条件以及数量例如,桥梁 1 的状况等级为 6 年,状况等级为 8 的状况等级为 2 年,状况等级为 7 的状况等级为 10 年,依此类推。查看图片链接。

这是我迄今为止的想法,但我对 python 真的很陌生,可以使用一些(很多)帮助。有人可以帮我从 csv 中呼叫正确的网桥号码吗?

f = open("NBIBridge.csv", "r")
n = int(input("Please enter a bridge number: "))
while n < 1 or n >25:
    n = int(input("please enter a bridge number >1 and <25: "))

bridge = []
for line in f:
    temp = line.split(",")
    i = int(temp[n])
    j = int(temp[n]) 
    temp = [j,n]
    bridge.append(temp)

【问题讨论】:

标签: python csv input


【解决方案1】:

首先,我将转置数据,使网桥编号位于第一行,这些将充当条件评级的标题。

接下来,我认为最好使用 pandas 来表示数据框中的数据:

import pandas as pd
bridge_data = pd.read_csv('NBIBridge.csv')

然后循环遍历每一列和分组并计算条件评级。你可以选择你想要的显示方式,但我现在只是把它放在字典里:

bridge_dict = {}
for col in data:
    bridge_dict[col] = data.groupby(col).size()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-16
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 1970-01-01
    相关资源
    最近更新 更多