繁体   English   中英

熊猫:如何从CSV或Excel文件中读取行?

[英]Pandas: How to read rows from CSV or Excel file?

看来你可以查看文件中的列没有问题,但是没有明显的方法来查看行。 我知道我可以将整个文件(CSV或excel)读入一个疯狂的大型数据框中以便选择行,但我宁愿能够直接从文件中获取特定行并将它们存储在合理大小的数据帧中。

我确实知道我可以在将df保存到上述CVS / Excel文件之前转置/转动df。 这对Excel来说是一个问题,因为我的列(转置的行)用完得太快了。 我宁愿使用Excel而不是CSV。

我原来的,不是转置的数据文件有9000+行和20ish cols。 我使用的Excel 2003最多支持256列。

编辑:想出一个适合我的解决方案。 这比我想象的要简单得多。 我最终使用的是CSV而不是Excel(我发现我的项目没有严重的差异)这里是针对可能遇到同样问题的人:

import pandas as pd
selectionList = (2, 43, 792, 4760) #rows to select
df = pd.read_csv(your_csv_file, index_col=0).T
selection = {}

for item in selectionList:
    selection[item] = df[item]

selection = pd.DataFrame.from_dict(selection)
selection.T.to_csv(your_path)

我想你可以使用pandas.read_csv中的skiprows和nrows参数来挑选要读入的各行。

使用skiprows,您可以为它提供一个不导入的长列表(0索引),例如[0,5,6,10]。 这可能最终成为一个巨大的名单。 如果您提供一个整数,它将跳过该行数并开始读取。 将nrows设置为可以在您启动它的位置获取所需行数。

如果我误解了这个问题,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM