问题遇到的现象和发生背景
网上导出的数据CSV文件,转换成xlsx文件,经程序处理得到想要的结果。但是最终的输出的表格里,存在内容前后存在空白字符串
问题相关代码,请勿粘贴截图
import openpyxl as vb
from tkinter import filedialog
import os
# 设置文件对话框会显示的文件类型
my_filetypes = [('all files', '.*')]
# 请求选择文件
answer = filedialog.askopenfilename(initialdir=os.getcwd(),
title="Please select a file:",
filetypes=my_filetypes)
#if语句,如果未选择文件直接结束程序
if answer != '':
print(r'您来了')
print(r'请输入平台名称')
台 = input()
print(r'请输入店铺名称')
店 = input()
#删除指定行
平台名称 = 台
店铺名称 = 店
簿 = vb.load_workbook(answer)
表 = 簿.active
表.delete_cols(idx=34, amount=5)
表.delete_cols(idx=50, amount=2)
表.delete_cols(idx=45, amount=4)
表.delete_cols(idx=42, amount=1)
表.delete_cols(idx=38, amount=2)
表.delete_cols(idx=30, amount=2)
# for循环,将T-Z列所有是***的单元格清空
for row in 表['T:Z']:
for i in row:
if i.value == "***":
i.value = ''
#继续删除行
表.delete_cols(idx=19, amount=1)
表.delete_cols(idx=12, amount=6)
表.delete_cols(idx=2, amount=1)
#更换表头,添加名称
表.insert_cols(2, 1)
for i in 表['B']:
i.value = 店铺名称
表['B1'] = '店铺名称'
# 更换表头,添加名称
表.insert_cols(1, 1)
for i in 表['A']:
i.value = 平台名称
表['A1'] = '平台名称'
####这个位置需要遍历全部单元格,将单元格内前后有的空白字符串删除
#更改表头
表['B1'] = '订单编号'
表['D1'] = '商品名称'
表['E1'] = '商品规格'
表['G1'] = 'AID'
表['H1'] = 'A编码'
簿.save(answer)
print('GameOver')
else:
print('拜拜了您呐')
运行结果及报错内容
我的解答思路和尝试过的方法
replace函数不能用,因为后面日期和时间中间的空格不想删除。trip函数会因为单元格的值为int,不支持trip函数。
我想要达到的结果
在原有的代码我标注的位置,添加一段代码,能够实现遍历所有单元格,保留内容,但是删除单元格内前后空白的字符串