Python pandas 连接多个对象
Python pandas concat for multipleobjects
我使用多个 sheet 从 excel 中提取数据,我使用 for 循环读取 sheet 因为我需要在每一行附加 sheet 名称。我的问题是每个 sheet 提取我的代码都会创建一个新的数据框,而不是附加在最后一个索引中,如何合并或连接成一个?
当前输出如下:
Control No.: Unnamed: 1 Unnamed: 2
0 127 test NaN
1 458 test NaN
2 278 test NaN
3 2453 test NaN
Control No.: Unnamed: 1 Unnamed: 2
0 573 sample NaN
1 782 sample NaN
2 222 sample NaN
3 257 sample NaN
我使用 pd.concat 和 pd.merge 忽略索引但仍然无法正常工作,而且 excel 有超过 7 个 sheet。
我是从这段代码开始的:
xls = pd.ExcelFile('file_loc')
sheets = [sheet for sheet in xls.sheet_names]
for sheet_name in sheets:
df = pd.read_excel('file_loc', sheet_name=sheet_name)
df1 = pd.concat([df], ignore_index=True, sort=False)
print(df1)
我需要的输出是这样的:
Control No.: Unnamed: 1 Unnamed: 2
0 127 test NaN
1 458 test NaN
2 278 test NaN
3 2453 test NaN
4 573 sample NaN
5 782 sample NaN
6 222 sample NaN
7 257 sample NaN
尝试使用以下代码。
- 我们在每次迭代中创建用于存储数据帧的空列表。
- 在循环中,我们从 excel 文件中读取 df 并将数据帧附加到列表中
- 循环后,我们连接列表中的所有数据帧。
xls = pd.ExcelFile('file_loc')
sheets = [sheet for sheet in xls.sheet_names]
list_df = []
for sheet_name in sheets:
df = pd.read_excel('file_loc', sheet_name=sheet_name)
list_df += [df]
df = pd.concat(df).reset_index(drop=True)
我使用多个 sheet 从 excel 中提取数据,我使用 for 循环读取 sheet 因为我需要在每一行附加 sheet 名称。我的问题是每个 sheet 提取我的代码都会创建一个新的数据框,而不是附加在最后一个索引中,如何合并或连接成一个?
当前输出如下:
Control No.: Unnamed: 1 Unnamed: 2
0 127 test NaN
1 458 test NaN
2 278 test NaN
3 2453 test NaN
Control No.: Unnamed: 1 Unnamed: 2
0 573 sample NaN
1 782 sample NaN
2 222 sample NaN
3 257 sample NaN
我使用 pd.concat 和 pd.merge 忽略索引但仍然无法正常工作,而且 excel 有超过 7 个 sheet。
我是从这段代码开始的:
xls = pd.ExcelFile('file_loc')
sheets = [sheet for sheet in xls.sheet_names]
for sheet_name in sheets:
df = pd.read_excel('file_loc', sheet_name=sheet_name)
df1 = pd.concat([df], ignore_index=True, sort=False)
print(df1)
我需要的输出是这样的:
Control No.: Unnamed: 1 Unnamed: 2
0 127 test NaN
1 458 test NaN
2 278 test NaN
3 2453 test NaN
4 573 sample NaN
5 782 sample NaN
6 222 sample NaN
7 257 sample NaN
尝试使用以下代码。
- 我们在每次迭代中创建用于存储数据帧的空列表。
- 在循环中,我们从 excel 文件中读取 df 并将数据帧附加到列表中
- 循环后,我们连接列表中的所有数据帧。
xls = pd.ExcelFile('file_loc')
sheets = [sheet for sheet in xls.sheet_names]
list_df = []
for sheet_name in sheets:
df = pd.read_excel('file_loc', sheet_name=sheet_name)
list_df += [df]
df = pd.concat(df).reset_index(drop=True)