python实现文本与Excel内容相互转换
2018-03-05 14:10
806 查看
思考:
如何用两层循环将以下列表转换为[‘1’, 1, 2, 3, ‘2’, 3, 4, 5]?[('1',[1,2,3]),('2',[3,4,5])] #解答在最后
正题
纯文本文件 student.txt为学生信息, 里面的内容如下所示:{ "1":["张三",150,120,100], "2":["李四",90,99,95], "3":["王五",60,66,68] }
请将以上内容转换为表格形式如下:
import json import xlwt,xlrd from collections import OrderedDict def txt_to_xls(): with open('student.txt') as f: students_dict = json.load(f) order_dict = sorted(students_dict.items(),key = lambda item:item[0])#对读取的对象进行按键排序 wb = xlwt.Workbook() #创建一个工作簿 ws = wb.add_sheet('student') #创建一个sheet row = 0 for k,v in order_dict: ws.write(row,0,k) col = 1 for item in v: ws.write(row,col,item) col += 1 row +=1 wb.save('student.xls') #保存 if __name__=='__main__': txt_to_xls()
将上边cls表格中的数据导出为json格式:
def xls_to_txt(): result = {} workbook = xlrd.open_workbook('student.xls') # 获取所有sheet #print workbook.sheet_names() sheet1_name = workbook.sheet_names()[0] # 根据sheet索引或者名称获取sheet内容 sheet1 = workbook.sheet_by_index(0) # sheet索引从0开始 # sheet的名称,行数,列数 print sheet1.name for i in range(sheet1.nrows): result[sheet1.row_values(i)[0]] = sheet1.row_values(i)[1:] for x in result: for y in result[x]: print y with open('student.json','w') as fo: json.dump(result,fo)
思考解答:
lst = [] for k, v in [('1',[1,2,3]),('2',[3,4,5])]: lst.append(k) for item in v: lst.append(item)
相关文章推荐
- 使用jiphy实现javascript/python的相互转换
- Python实现读取txt文件并转换为excel的方法示例
- Python 实现小数和百分数的相互转换
- EXCEL-横向数据转换成纵向数据-python脚本实现
- python 实现读取excel中的内容
- Python 远程操作&文本转换excel
- Python实现把json格式转换成文本或sql文件
- python txt与excel 相互转换(.xls、.xlsx)
- python实现字符串和日期相互转换的方法
- Python中列表list以及list与数组array的相互转换实现方法
- 【Python小工具】Python实现批量解析PDF文件提取内容并写入到Excel中
- Python实现提取XML内容并保存到Excel中的方法
- Python 16进制与中文相互转换的实现方法
- php实现二进制和文本相互转换的方法
- python实现字符串和日期相互转换的方法
- python通过ntohl和htonl等函数实现主机字节序和网络字节序相互转换
- JAVA过滤标签实现将html内容转换为文本的方法示例
- python3实现短网址和数字相互转换的方法
- Python脚本程序实现搜索文本文件内容
- 使用Python实现BT种子和磁力链接的相互转换