我正在尝试将所有xlsx文件转换为文件夹中的csv文件。它在过去运作良好,但这次我得到一个错误让我不知道。
这是我的代码:
excel_files = glob.glob('/*xlsx*')
for excel_file in excel_files:
df = pd.read_excel(excel_file)
output = excel_file.split('.')[0]+'.csv'
df.to_csv(output)
我还尝试了以下一行,以确保它不是编码问题:
df.to_csv(output, encoding='utf-8', index=False)
它转换了大约1000个文件,但其余的7000个文件仍然出现错误:
KeyError: 'rId6'
你会如何解决?谢谢。
答案 0 :(得分:2)
您的某些文件在某种程度上格式错误。您应该在循环中添加异常处理,这将允许转换继续并指示哪些文件导致了问题:
//***************************//
// Menu Button
jQuery(document).ready(function(){
jQuery('#nav-icon').click(function(){
jQuery('#mainmenu').toggleClass('menuview');
jQuery(this).toggleClass('open');
});
});
//***************************//
// Slide Menu
$(function() {
$(window).scroll(function() {
var winTop = $(window).scrollTop();
if (winTop >= 30) {
$("#topbar").addClass("sticky-nav");
$("#navdemo").addClass("navdemoon");
$("#subnav1").addClass("submenudrop");
$("#subnav2").addClass("submenudrop");
$("#mainnav1").addClass("menudroppad");
$("#mainnav2").addClass("menudroppad");
} else {
$("#topbar").removeClass("sticky-nav");
$("#navdemo").removeClass("navdemoon");
$("#subnav1").removeClass("submenudrop");
$("#subnav2").removeClass("submenudrop");
$("#mainnav1").removeClass("menudroppad");
$("#mainnav2").removeClass("menudroppad");
}
})
})
//***************************//
// Video Popup Lightbox
$(".modal-trigger").click(function(e){
e.preventDefault();
dataModal = $(this).attr("data-modal");
$("#" + dataModal).css({"display":"block"});
});
$(".close-modal, .modal-sandbox").click(function(){
$(".modal").css({"display":"none"});
});
//***************************//
/* Video Preloader*/
var video = document.getElementById("featvideo");
var url = "../video/video-home.mp4";
var progressBar = document.getElementsByClassName('.progress-bar')[0];
var xhr = new XMLHttpRequest();
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = function(oEvent) {
var blob = new Blob([oEvent.target.response], {type: "video/mp4"});
video.src = URL.createObjectURL(blob);
};
xhr.onprogress = function(oEvent){
if(oEvent.lengthComputable) {
var percentComplete = (oEvent.loaded/oEvent.total)*100;
var completion = Math.round(percentComplete) + '%';
progressBar.setAttribute('valuenow', completion);
progressBar.style.width = completion + '%';
progressBar.innerHtml = completion + '%';
}
}
xhr.send();
然后,您可以尝试在Excel中打开失败的文件,看看它们是否加载正常。如果他们确实加载了,你可以将一个失败的Excel文件的示例上传到像pastebin这样的东西,并在这里添加一个带有链接的注释,这样就可以重新创建问题。