我有一个 Excel 工作表,其中 A 列填充了日期/时间,N 列仅从日期中提取年份,例如“=YEAR(A2)”。我正在尝试使用某种形式的 python、Openpyxl、Pandas 等,以便能够读取 N 列,然后用 O 列中的唯一年份填充 O 列。现在,我的问题是,当我用 Pandas 读取时,至少我除了标题之外的所有行都得到
NaN
。
这是我的Python代码
import pandas as pd
files = 'A_data.xlsx'
sheetName = "Sheet1"
# generate path plus files for workbook.
print(files)
df = pd.read_excel(files,usecols='N')
print(df)
这是我通过打印
df
得到的数据:
0 Year
1 NaN
2 NaN
3 NaN
4 NaN
...
...
6285 NaN
6286 NaN
6287 NaN
6288 NaN
6289 NaN
[6290 行 x 1 列]
我尝试用实际数据复制公式,有趣的是,这似乎解决了我的问题,但如果不需要的话,这并不是我真正想要做的。任何帮助将不胜感激。
我想我列出了我已经尝试过的内容,我已经发布了我的代码和示例电子表格。我尝试用数字替换公式,这似乎很奇怪地解决了这个问题。我还尝试告诉 Pandas 忽略标头,但这并没有解决问题。我没有使用代码,而是尝试使用 Excel 公式“唯一”,但是当我在打开工作表时这样做时,Excel 抱怨出现了问题,当我注释掉这一行时,这些问题就消失了。
您似乎省略了要使用的工作表。
df = pd.read_excel(files,usecols='N', sheet_name = "Sheet1")
如果您想使用变量作为工作表名称
df = pd.read_excel(files,usecols='N', sheet_name = sheetName)