如何将Excel第4行日期提取为Pandas DataFrame的列?
解决提取Excel第4行日期为DataFrame单列的问题
刚接触Pandas很正常,咱们先理清楚你当前代码的问题:skiprows=4是跳过前4行,所以你读取的其实是Excel里第5行及以后的内容,这和你要提取第4行的需求不符~
下面给你两种简单的解决方案,根据你的实际情况选就行:
方法1:提取第4行整行并转为单列
如果第4行里的日期是你需要的全部内容(不管这一行有多少个日期),可以先读取这一行,再把行转成列:
import pandas as pd fp = "G:\\Data\\Data2\\myfile.xlsm" # 读取Excel的第4行(Excel行号从1开始,所以跳过前3行,只读取1行) row_4 = pd.read_excel(fp, skiprows=3, nrows=1, sheet_name="CRM View") # 将行数据转成单列的DataFrame,并重命名列名为“日期” date_column = row_4.T.reset_index(drop=True).rename(columns={0: "日期"})
skiprows=3:跳过前3行(对应Excel的1-3行),从第4行开始读nrows=1:只读取1行(也就是第4行).T是转置操作,把行变成列,最后调整列名就得到你要的单列DataFrame了
方法2:提取第4行指定单元格的日期
如果第4行只有一个日期在某个固定单元格(比如Excel的A4单元格),可以直接定位提取:
import pandas as pd fp = "G:\\Data\\Data2\\myfile.xlsm" # 读取第4行第1列(A列)的日期值 date_value = pd.read_excel( fp, skiprows=3, nrows=1, usecols=[0], # 指定读取第1列(索引从0开始) sheet_name="CRM View" ).iloc[0, 0] # 把单个日期值转为单列DataFrame date_column = pd.DataFrame({"日期": [date_value]})
这里用usecols=[0]指定只读取第1列,再用iloc[0,0]取出单元格的值,最后生成单列DataFrame。
你可以根据自己Excel里的实际数据结构选上面的方法,试试就知道啦~
内容的提问来源于stack exchange,提问作者Sorath
相关产品推荐
相关产品推荐

