将多个 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]])
这将包含名为 0
和 1
的列(因为您没有在创建数据框时定义名称),因此最后一步是重命名这些列:
df = df.rename(columns={0:'name',1:'city'})
我想将多个 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]])
这将包含名为 0
和 1
的列(因为您没有在创建数据框时定义名称),因此最后一步是重命名这些列:
df = df.rename(columns={0:'name',1:'city'})