python - Python:创建一个从数据集中提取一系列行的函数
问题描述
我想创建一个从数据集(.csv)中提取一系列行(n:m)的函数。它应该忽略第一行,也应该将“Number Minutes”列转换为整数。
我们的数据集(“file_name.csv”)如下所示:
Name;Age;Team;Number Minutes
Henry Dalton;19;Chelsea FC;1.200
John Smith;50;Manchester Utd.;4.000
Herman Lock;32;Manchester City;2.400
Kyle Hard;23;Everton Football Club;1.200
该函数如下所示:
find_player("file_name.csv", 2, 3)
结果将是:
['John Smith' , '50' , 'Manchester Utd.' '4000']
['Herman Lock' , '32' , 'Manchester City' , '2400']
我选择使用熊猫。到目前为止,我已经制作了这段代码:
import pandas as pd
file_route = r'.\file_name.csv'
def find_player(file_route, n, m):
data = pd.read.csv(file_route)
data2 = data[n, m].copy()
data2[3] = data2[3].astype(int)
print(data2)
return(data2)
我无法得到正确的解决方案,所以我可以使用一些帮助。
谢谢!
解决方案
def find_player(filename,start,end):
with open(filename, 'r') as msg:
data = msg.read().splitlines()
return [[int(s.replace(".","")) if s.replace(".","").isdigit() else s for s in item.split(";")] for item in data[start:end+1]]
print (find_player("file_name.csv", 2, 3))
输出:
[['John Smith', 50, 'Manchester Utd.', 4000], ['Herman Lock', 32, 'Manchester City', 2400]]
请注意,您实际上无法获得示例中所示的两个列表。要么你得到一个列表列表,要么你在每行你想捕捉的地方运行一次你的函数。
推荐阅读
- python - Python 3.7.0 没有名为“PyQt5.QtWebEngineWidgets”的模块
- godot - 在 GodotEngine3 中编辑导入的动画模型
- php - 能够在“选择”或“复选框”wordpress 中选择多个值
- python - 在 numpy 中向量化基于索引的矩阵运算
- javascript - URL 重定向和重新加载在 Safari 和 IE 中不起作用
- python - 将python脚本连接到微控制器
- c# - 将 T-sql 转换为 Linq 或 Entityframework,而不是使用 SqlQuery() 进行原始查询
- python - Pymses 无法识别“来源”文件夹
- git - 是否有类似于用于 Sublime 文本的 GitGutter 的 Visual Studio Code 插件
- google-chrome - 将 Selenium webdriver 与 Chrome 一起使用时出现注册表错误