python - 我想从 xlsx 中提取 10 张表并将所有 10 张表导出为 python 中的 csv 格式
问题描述
我能够从 xlsx 文件中提取工作表并将这些工作表转换为 csv 格式。但是,如果我有很多张可以说 40 张,那么我期待一种更智能的方法来提取这些张。下面是我工作的代码。将 pandas 导入为 pd 将 numpy 导入为 np
##Importing the Excel file
excelfile=pd.ExcelFile('single.xlsx')
# Reading all the individual sheet
sheet1=excelfile.parse('Sheet1')
sheet2=excelfile.parse('Sheet2')
sheet3=excelfile.parse('Sheet3')
sheet4=excelfile.parse('Sheet4')
sheet5=excelfile.parse('Sheet5')
sheet6=excelfile.parse('Sheet6')
sheet7=excelfile.parse('Sheet7')
sheet8=excelfile.parse('Sheet8')
sheet9=excelfile.parse('Sheet9')
sheet10=excelfile.parse('Sheet10')
#print(sheet2.head())
#exporting all the individual xlsx sheet to csv
sheet1.to_csv('sheet1.csv')
sheet2.to_csv('sheet2.csv')
sheet3.to_csv('sheet3.csv')
sheet4.to_csv('sheet4.csv')
sheet5.to_csv('sheet5.csv')
sheet6.to_csv('sheet6.csv')
sheet7.to_csv('sheet7.csv')
sheet8.to_csv('sheet8.csv')
sheet9.to_csv('sheet9.csv')
sheet10.to_csv('sheet10.csv')
解决方案
只需循环 sheet_names 并即时生成您的 CSV 名称:
excelfile = pd.ExcelFile('single.xlsx')
for i, name in enumerate(excelfile.sheet_names):
sheet = excelfile.parse(name)
csv_name = f'sheet_{i:02}.csv'
sheet.to_csv(csv_name)
推荐阅读
- python - 如何从 x、y、直线和角度构造一个点?
- javascript - For Loop for next page 按钮不断重复显示
- r - JAGS/R2Jags 中派生量的“收敛”
- react-native - 如何在本机反应中重叠蒙版上的按钮?
- laravel - 无法导航到下一页,按钮按下它在集成后颤动中切换 1 和 0
- java - 使用 SimpleModule 反序列化为 Map
- r - 基于两个变量合并/连接纵向数据
- laravel - 运行单元测试时如何更改请求标头“主机”?
- c# - 找到类别的参数并以正确的顺序组合它们
- python - 为什么在将图像转换为视频时总是排除最后一帧?