Python 将 xlsx 转换为 csv
Python converting xlsx to csv
我正在尝试将文件夹中的所有 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'
你会怎么解决?谢谢。
您的某些文件格式不正确。您应该在循环中添加异常处理,这将允许转换继续并指示您的哪些文件导致了问题:
excel_files = glob.glob('/*xlsx*')
for excel_file in excel_files:
print("Converting '{}'".format(excel_file))
try:
df = pd.read_excel(excel_file)
output = excel_file.split('.')[0]+'.csv'
df.to_csv(output)
except KeyError:
print(" Failed to convert")
然后您可以尝试打开 Excel 中的失败文件,看看它们是否加载正常。如果它们确实加载了,您可以将失败的 Excel 文件的示例上传到 pastebin 之类的东西,并在此处添加带有 link 的评论,以便重新创建问题。
我正在尝试将文件夹中的所有 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'
你会怎么解决?谢谢。
您的某些文件格式不正确。您应该在循环中添加异常处理,这将允许转换继续并指示您的哪些文件导致了问题:
excel_files = glob.glob('/*xlsx*')
for excel_file in excel_files:
print("Converting '{}'".format(excel_file))
try:
df = pd.read_excel(excel_file)
output = excel_file.split('.')[0]+'.csv'
df.to_csv(output)
except KeyError:
print(" Failed to convert")
然后您可以尝试打开 Excel 中的失败文件,看看它们是否加载正常。如果它们确实加载了,您可以将失败的 Excel 文件的示例上传到 pastebin 之类的东西,并在此处添加带有 link 的评论,以便重新创建问题。