首页 > 其他分享 ># yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?

# yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?

时间:2023-03-08 22:34:10浏览次数:34  
标签:选项 yyds encoding df lines 中是 未命名 Excel options

大家好,我是皮皮。

一、前言

前几天在Python铂金交流群【Jethro Shen】问了一个​​Python​​自动化处理的问题,这里拿出来给大家分享下。

# yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?_Python应用

代码如下:

import pandas as pd
import chardet

# 读取题库文件
with open('未命名.txt', 'rb') as f:
encoding = chardet.detect(f.read())['encoding']

with open('未命名.txt', 'r', encoding=encoding) as f:
lines = f.readlines()

# 将题目和选项分别存储到列表中
questions = []
options = []
for line in lines:
elements = line.strip().split(' ')
if len(elements) == 5:
q, a, b, c, d = elements
questions.append(q)
options.append([a, b, c, d])
else:
print(f'Error: invalid line: {line}')

# 将数据存储到Excel文件中
df = pd.DataFrame({'题目': questions, '选项A': [o[0] for o in options], '选项B': [o[1] for o in options],
'选项C': [o[2] for o in options], '选项D': [o[3] for o in options]})
df.to_excel('question_bank.xlsx', index=False)

下图是他的运行结果:

# yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?_Python教程_02

二、实现过程

这里【不上班能干啥!】给了一个思路,如下所示。

其实后来发现是粉丝自己把代码写死了,后来大佬稍微修改了下代码,就可以跑起来了,修改后的代码如下所示:

import pandas as pd
import chardet

# 读取题库文件
with open('未命名.txt', 'rb') as f:
encoding = chardet.detect(f.read())['encoding']

with open('未命名.txt', 'r', encoding=encoding) as f:
lines = f.readlines()

# 将题目和选项分别存储到列表中
# 只能分割有4个选项的题目

# 将数据存储到Excel文件中
df = pd.DataFrame([lines[i: i + 5] for i in range(0, len(lines), 5)], columns=['题目', '选项A', '选项B', '选项C', '选项D'])
df = df.apply(lambda x: x.str.strip())
df.to_excel('question_bank.xlsx', index=False)

之后就可以得到预期的结果了:

# yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?_Python自动化办公_03

顺利地解决了粉丝的问题:

# yyds干货盘点 # 大佬们帮我看看怎么输出到Excel中是空的?_Python_04

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个​​Python​​自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【Jethro Shen】提问,感谢【不上班能干啥!】给出的思路和代码解析,感谢【eric】、【此类生物】、【冯诚】等人参与学习交流。

标签:选项,yyds,encoding,df,lines,中是,未命名,Excel,options
From: https://blog.51cto.com/u_13389043/6108900

相关文章

  • #yyds干货盘点#HTTP报文结构
    HTTP协议的请求报文和响应报文的结构基本相同,由三大部分组成:起始行(startline):描述请求或响应的基本信息;头部字段集合(header):使用key-value形式更详细地说明报文;消息正文......
  • excel 合并
    最近整理收钱吧的账单明细,因为收钱吧限制每次最多只能导出1个月的明细,所以我需要合并这些零零碎碎的表格,方便在excel中做统计筛选#!/usr/bin/envpython3#coding:u......
  • JAVA 实现导入导出Excel-02随笔
    忙碌的一天第一天写博客就让我煞费苦心,从上午完成的第一篇开始,具目前为止已经是下午18:41了;读者可能好奇为什么写这一篇随笔,我只能回答说太无聊了哈哈哈;其实不然,刚到......
  • #yyds干货盘点# LeetCode面试题:接雨水
    1.简述:给定 n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数......
  • Excel基础学习笔记
    EXCEL快速填充:CTRL+E帮你合并拆分内容想用快速填充附近一定要有数据 快速分析数据:选中目标区域后直接CTRL+Q快速分析能实现多种效果:格式化、图标、汇总、表格、迷......
  • 构建Excel帮助类
    开发环境:.NetCore3.1,NPOI2.6.0usingNPOI.HSSF.UserModel;usingNPOI.SS.UserModel;usingNPOI.SS.Util;usingNPOI.XSSF.UserModel;usingSystem;usingSystem.C......
  • JAVA 实现导入导出Excel-随笔
    1、开个小差今天是我第一次使用博客园记录随笔内容;从-CSDN->Typora->语雀其中的转换过程中,让我清楚这三个工具都比博客园记录随笔要轻松的多;话又说回来,那么我又为什么......
  • 把excel六位日期中间加上横线的公式
     同事希望把Excel六位日期中间加上减号"-",我为她设计了这样一个公式,调试完成后双击G2单元格右下方的填充柄,整列都跟着设置好了。思路:左边四位加横杠,加右四位的左二位,......
  • 数据仓库的数据建模基本流程#yyds干货盘点#
    数据建模基本流程数据仓库的数据建模基本流程一般分为以下三个阶段:概念模型、逻辑模型、物理模型。概念模型:概念模型的主要目的是定义业务概念和关系,描述业务过程、业......
  • openpyxl-excel文件处理
    importos.path#加载对象fromopenpyxlimportWorkbookfromopenpyxlimportload_workbook#设置样式fromopenpyxl.stylesimportFontfromopenpyxl.stylesimpo......