【发布时间】:2020-10-05 01:02:32
【问题描述】:
我有很多擅长的工作表(每个工作表都有不同的名称)和不同的列。
每个 excel 的每张表都有我要提取的三列(名称、标题、数据库)并将它们放在一个只有一张表的文件中。因此,输出文件应包含三列,由所有其他 excel 和工作表的列名称、标题、数据库数据组成。
尝试使用以下代码执行此操作,仅从每个第一张表中获取数据。
通过在read_excel() 中添加sheet_name=None,我看到:TypeError: Can only append a Series if ignore_index=True or if the Series has a name.
通过在append() 中添加ignore_index=True,输出文件中没有数据。
感谢您的宝贵时间!我是编程初学者。
import pandas as pd
#Setting SourceFiles
my_files = [(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\a.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\b.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\c.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\d.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\e.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\f.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\g.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\h.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\i.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\j.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\k.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\l.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\m.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\n.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\o.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\p.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\q.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\r.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\s.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\t.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\u.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\v.xls'),
(r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\REAL\w,y,z.xls')]
#Combining the SourceFiles
df = pd.DataFrame()
for f in my_files:
data = pd.read_excel(f) #Here I set the sheet_name=None
df = df.append(data) #Here I set the ignore_index=True
#Defining the columns I want from the Source file and how I want them (Sorted and with Dropped duplicates)
columns_i_want = (pd.DataFrame(df, columns= ['Name', 'Title', 'Database']))
sorted_data = column_i_want.sort_values('Name', ascending=True)
#Transfering the data to an other excel
column_i_want.to_excel (r'C:\Users\John\Dev\Mini_Personal_scripts\The_Excel_Project\Excels\output.xlsx', index = False, header=True)
【问题讨论】:
标签: python excel pandas append