【问题标题】:How to write this code in python any help would be appreciated如何在 python 中编写此代码任何帮助将不胜感激
【发布时间】:2021-03-04 23:35:57
【问题描述】:

def read_file(fp)  元组列表

我。参数是一个文件指针。读取整个文件以从第 1 列和第 10 列中提取数据;返回一个元组列表。因为第 1 列的字段中有逗号,并且文件是逗号分隔值文件 (csv),所以请使用 csv 模块(请参阅下面的程序说明)。

有一个标题行需要跳过。

第 1 列包含县和州,用逗号分隔。

状态是双字母缩写。调用 get_county_state 将县和州分开。

第 10 列包含该县的收入中位数。收入是一个 整数,但超过一千的值有逗号需要处理。如果没有收入价值,请忽略该县。

可以忽略所有其他列。返回每个元组所在的元组列表(州、县、中位数_收入)

按median_income 的降序对列表进行排序。提示:使用 operator 模块中的 itemgetter(参见下面的程序说明)。

二。参数:文件指针

三。返回:元组的排序列表

四。显示:无

这是我目前遇到问题的代码。我很迷茫,不胜感激!

def read_file(fp):
    
    reader = csv.reader(fp)
    
    next(reader, None)
    for row in reader:
        country_state = row[1]
        country_state = get_county_state(country_state)
        state_str = country_state[-1]
        country_str = country_state[0]
        state = state_str
        country = country_str
        median_income = row[10]
        median_income = int(median_income)
        read_file = (state, country, median_income)
        return read_file

    

【问题讨论】:

  • “文件指针”在 Python 中确实不是一个很好的描述。您通常不使用实际的文件指针。几乎可以肯定,它意味着一个文件对象。
  • 这个问题不太适合 Stack Overflow。当网上有资源可以帮助您回答这个问题时,尽量不要提问。在来这里之前,您可能需要查看如何执行此操作。
  • 考虑使用 pandas 进行此类数据操作
  • @PooyaKamranjam 为什么?这一切都可以通过标准库和内置函数轻松实现。
  • @PooyaKamranjam--P.S.--我没有否决你的答案(我从不否决答案)。

标签: python


【解决方案1】:

您需要先安装 pandas,然后执行以下操作:

import pandas as pd

def read_file(fp):
    df = pd.read_csv(fp)
    df[['state','country']] = pd.DataFrame(df.country_state.tolist(), index= df.index)
    df = df[['state', 'country', 'median_income']]
    return df.values.tolist()

【讨论】:

    猜你喜欢
    • 2020-05-29
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多