我正在尝试在具有相同格式的文件夹中读取大量excel文件。我的密钥不在第一行,所以当我运行这段代码时,我给了我
KeyError: '"A"'
它也很棘手,因为我的专栏名称是" A" (带引号)。如何让它遍历每个文件并读取每个文件中每列的数据?
import numpy as np
import scipy.io as sio
import scipy
import matplotlib.pyplot as plt
import os
import pandas as pd
from matplotlib import gridspec
from tkinter import filedialog
from tkinter import *
import scipy.stats as st
#GUI
root=Tk()
root.withdraw() #closes tkinter window pop-up
path=filedialog.askdirectory(parent=root,title='Choose a folder')
path=path+'/'
print('Folder Selected',path)
files=os.listdir(path)
length=len(files)
print('Files inside the folder',files)
Files=[]
for s in os.listdir(path):
Files.append(pd.read_excel(path+s))
#initialize arrays
A=[None]*length
B=[None]*length
C=[None]*length
for filenumber in range(0,length):
A[filenumber] = Files[filenumber]['"A"']
B[filenumber] = Files[filenumber]['"B"']
C[filenumber] = Files[filenumber]['"C"']
答案 0 :(得分:2)
您可以选择要用于列标题的行:
Files.append(pd.read_excel(path+s), header=2);
例如,从第3行读取标题
参见文档: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html
答案 1 :(得分:0)
我能够读取列并跳过前两行。然后我能够轻松索引不同的键
private hostEl: HTMLElement;
constructor(el: ElementRef) {
this.hostEl = el.nativeElement;
}
ngOnInit() {
window.addEventListener('scroll', this.scroll, true);
}
ngOnDestroy() {
window.removeEventListener('scroll', this.scroll, true);
}
//Get the header
let header = (document.querySelector('.header') as HTMLInputElement);
if (window.pageYOffset >= 100){
header.classList.add('sticky');
} else {
header.classList.remove('sticky');
}