因为工作中的部分数据是通过csv保存,但是它无法存放公式,所以想用在xlsx中编辑,再导成csv的方法。
主要需求:xlsx中会有很多计算公式和其他草稿内容,最终只对制定的列进行数据导出。
其中.xlsx的格式是这样的
需要只对第三行有数据类型int的列进行导出
需要用到的库:xlrd csv sys
代码如下:
import xlrd
import csv
import sys
def xls2csv(file):
try:
xls = xlrd.open_workbook(filename=file)
except FileNotFoundError:
msg = file + ' does not exist'
print(msg)
else:
sheet1 = xls.sheet_by_index(0)
# print(sheet1.name)
# sheet.row 会返回 类型:值 的字典列表
rows = sheet1.row_values(2)
cols = sheet1.col_values(3)
col_need = []
#这里保存了满足条件,带int的列号
for i in range(len(rows)):
if 'int' in rows[i]:
col_need.append(i)
# print(sheet1.col_values