将多个 excel 电子表格中的特定单元格读取到单个 pandas 数据框中

read a specific cells from multiple excel spreadsheets into single pandas dataframe

我想将多个 excel 电子表格中的特定单元格读取到单个 pandas 数据框中。

到目前为止,我已经试过了。 (没有成功)

import pandas as pd
import glob
import xlrd

file_list = glob.glob("*.xls")

df = pd.DataFrame()

for f in file_list:
    wb = xlrd.open_workbook(f)
    sheet = wb.sheet_by_index(0)
    name = sheet.cell_value(rowx=9, colx=2)
    city = sheet.cell_value(rowx=15, colx=2)
    df = df.append([name,city])

所需的输出是 pandas 数据帧,因为

name   city
Tom    NY
Alex   Toronto
Anne   Atlanta
...    ...

谢谢

我认为您需要两套 [[]] 围绕所附加的内容。使用一组括号,它会尝试将名称添加为一行并将城市添加为一行,而不是添加为同一行中的列。

import pandas as pd
import glob
import xlrd

file_list = glob.glob("*.xls")

df = pd.DataFrame()

for f in file_list:
    wb = xlrd.open_workbook(f)
    sheet = wb.sheet_by_index(0)
    name = sheet.cell_value(rowx=9, colx=2)
    city = sheet.cell_value(rowx=15, colx=2)
    df = df.append([[name,city]])

这将包含名为 01 的列(因为您没有在创建数据框时定义名称),因此最后一步是重命名这些列:

df = df.rename(columns={0:'name',1:'city'})