hua_python操作excel

import pandas as pd
import xlsxwriter
import os
import io
import urllib.request
class option_excel:
    def __init__(self):
        self.colum_name = None
        self.colum_num =  None

    def read_xlsx(self,path,header=0):
        df = pd.read_excel(path,header=header)#读取xlsx中第一个sheet
        datas = df.values  #list形式,读取表格所有数据
        self.colum_name = df.columns.values
        self.colum_num = df.shape[1]
        self.row_num = df.shape[0]
        return datas

    def data_to_xlsx(self,path,newpath):
            read = self.read_xlsx(path)
            print(read)
            print(self.colum_name)
            print(self.colum_num)
            workbook = xlsxwriter.Workbook(newpath)  # 新建excel表
            worksheet = workbook.add_worksheet('sheet1')  # 新建sheet(sheet的名称为"sheet1")
            # 加宽第一列使文本更清晰。
            worksheet.set_column(0, 10, 20)  # 设置区域列宽度
            for i in range(1,self.row_num+1):
                worksheet.set_row(i, 100)
            header_style = workbook.add_format({
                'bold': False,  # 字体加粗
                'border': 0,  # 单元格边框宽度
                'align': 'center',  # 水平对齐方式
                'valign': 'vcenter',  # 垂直对齐方式
                'fg_color': '#FFFF00',  # 单元格背景颜色
                'text_wrap': False,  # 是否自动换行
            })
            row_style = workbook.add_format({
                'align': 'left',  # 水平对齐方式
                'valign': 'vcenter',  # 垂直对齐方式
                'text_wrap': True,  # 是否自动换行
            })
            worksheet.write_row('A1', self.colum_name,header_style)
             # 将数据插入到表格中
            row = 1
            url = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597642766628&di=91396d8b709a7455f025faf1b5c8d2fd&imgtype=0&src=http%3A%2F%2Fa.hiphotos.baidu.com%2Fbaike%2Fpic%2Fitem%2Ff703738da977391243bca26cfe198618367ae221.jpg'
            image_data = io.BytesIO(urllib.request.urlopen(url).read())
            for i in read:
                d = [str(j).replace('nan','null') for j in i ]
                worksheet.write_row(row, 0,d,row_style)
                worksheet.insert_image(row,self.colum_num,url, {'x_offset':0,'y_offset':0,'x_scale':0.4,'y_scale':0.4,'url':url,'tip':None,'image_data':image_data,'positioning': None})
                row+=1
            workbook.close()
            print(row)
def read_file():
    data = []
    for root, dirs, files in os.walk(os.getcwd()):
        for file in files:
            if file.endswith('.xlsx'):
                data.append((file,root))
    return data

if __name__ == '__main__':
    file_path = read_file()
    data = option_excel()
    for name,root in file_path:
        path = os.path.join(root,name)
        newpath = os.path.join(root,f'处理后_{name}')
        data.data_to_xlsx(path,newpath)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值