将多个excel电子表格中的特定单元格读取为单个panda数据帧



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

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

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])

所需的输出是熊猫数据帧作为该

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

感谢

我认为您需要两组[[]]来处理所附加的内容。使用一组括号,它试图将name添加为一行,将city添加为一列,而不是添加为同一行中的列。

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'})

最新更新