gpt4 book ai didi

python - 在python pandas中动态跳过excel的顶部空白行

转载 作者:行者123 更新时间:2023-12-04 19:47:11 28 4
gpt4 key购买 nike

我正在使用 python 中的 pandas 读取多张 excel 文件。我有三种情况

  1. 一些工作表有第 1 行的数据
osht=pd.DataFrame(filename+sheetname)

delimited table Example:
Country;Company;Product
US;ABC;XYZ
US;ABD;XYY
  1. 有些表前有 n 行空白,有些表有摘要 我知道使用 skip_blank 我可以摆脱顶部空白行,但顶部空白行的数量在本质上并不固定,可能是 3 或 4 或 8
delimited table Example: 
;;
;;
;;
Country;Company;Product
US;ABC;XYZ
US;ABD;XYY
  1. 第 1 列中的表格 我正在尝试阅读所有这些表格,但不确定如何阅读- 有什么方法可以从第 3 行总结结束,第 4 行是我的表格标题,第一列标题是“国家/地区”
delimited table Example: 

Product summary table for East region;;
Date: 1st Sep, 2016;;
;;
Country;Company;Product
US;ABC;XYZ
US;ABD;XYY

最佳答案

我会提出以下算法:

  1. 阅读整张表格
  2. 将不包含缺失值的第一行视为标题
  3. 将所有行放在标题上方

这段代码对我来说没问题:

import pandas as pd
for sheet in range(3):
raw_data = pd.read_excel('blank_rows.xlsx', sheetname=sheet, header=None)
print(raw_data)
# looking for the header row
for i, row in raw_data.iterrows():
if row.notnull().all():
data = raw_data.iloc[(i+1):].reset_index(drop=True)
data.columns = list(raw_data.iloc[i])
break
# transforming columns to numeric where possible
for c in data.columns:
data[c] = pd.to_numeric(data[c], errors='ignore')
print(data)

它使用 this toy data sample ,根据你的例子。来自原始数据帧

         0        1        2
0 Country Company Product
1 US ABC XYZ
2 US ABD XYY

0 1 2
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 Country Company Product
4 US ABC XYZ
5 US ABD XYY

0 1 2
0 Product summary table for East region NaN NaN
1 Date: 1st Sep, 2016 NaN NaN
2 NaN NaN NaN
3 Country Company Product
4 US ABC XYZ
5 US ABD XYY

脚本生成相同的表

  Country Company Product
0 US ABC XYZ
1 US ABD XYY

关于python - 在python pandas中动态跳过excel的顶部空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47039309/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com