import pandas as pd
import xlrd
import openpyxl
from io import StringIO
import boto3
def lambda_handler(event,context):
df=pd.read_excel('s3://my-bucket/XL/test-xls.xlsx', engine='openpyxl')
bucket = 'my-bucket'
csv_buffer = StringIO()
df.to_csv(csv_buffer)
s3_resource = boto3.resource('s3')
# write the data back as a CSV
s3_resource.Object(bucket,'XL/test-csv.csv').put(Body=csv_buffer.getvalue())
1.上面的代码是一个Excel工作很好,但我正在寻找解决方案,我可以阅读XLSX文件
1.如果XLSX文件有3个选项卡,那么这3个选项卡应该转换成3个不同的CSV,并将文件保存到bucket tabname.csv
2条答案
按热度按时间lawou6xi1#
您可以尝试xlsx2csv而不是pandas。带有
-n
选项的xlsx2csv可能会工作。另外xlsx2csv有更多的工作表选项卡选项卡,你可以选择适合你的。
pes8fvy92#
要读取特定的工作表,您只需将其作为参数传递给read_excel函数:
如果要提取每个工作表,可以使用
.sheet_names
属性获取工作表名称然后把每一张纸都提取出来
pandas.read_excel