【发布时间】:2020-04-20 02:18:11
【问题描述】:
每天我都会收到来自不同供应商的许多不同文件,而且大小也大不相同。我正在寻找一些动态代码来决定所有文件的相关内容。我想通过如何将这个文件分解成组件(例如df1, df2, df3)来思考,这将使分析更容易。
基本上前 6 行是关于商店的整体信息 (df1)。
第二个组件保留用于特定商品的销售(从第 9 行开始,在每个文件中以不同的行结束),我不知道如何捕获它。我已经尝试过类似
的东西numb = df.loc['Type of payment'].index[0] - 2
但它引入了元组而不是行位置(int)。我怎样才能将upperrange 和lowerrange 保存为动态(int),以便每天它都会带来我正在寻找的正确的df2数据?
在底部的“支付类型”下也存在同样的问题 - 您会注意到第一天包含加密货币,而不是第二天。我需要找到一种方法来获得动态范围以删除错误信息并保持其余信息的完整性。我认为找到lowerrange 将使我能够从该点捕捉到工作表的末尾,但我愿意接受建议。
df = pd.read_csv('GMSALES.csv', skipfooter=2)
upperrange = df.loc['Item Number'] #brings in tuple
lowerrange = df.loc['Type of payment'] #brings in tuple
df1 = df.iloc[:,7] #this works
df2 = df.iloc[:('upperrange':'lowerrange')] # this is what I would like to get to
df3 = df.iloc[:(lowerrange:)] # this is what I would like to get to
【问题讨论】:
标签: python pandas data-cleaning