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

大佬们帮我看看怎么输出到Excel中是空的?

时间:2023-04-20 16:03:49浏览次数:34  
标签:选项 encoding df lines 中是 未命名 Excel 大佬 options

大家好,我是皮皮。

一、前言

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

大佬们帮我看看怎么输出到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)

下图是他的运行结果:

大佬们帮我看看怎么输出到Excel中是空的?_Python安装_02

二、实现过程

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

大佬们帮我看看怎么输出到Excel中是空的?_Python_03

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

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)

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

大佬们帮我看看怎么输出到Excel中是空的?_Python_04

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

大佬们帮我看看怎么输出到Excel中是空的?_Python3_05

三、总结

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

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



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

相关文章

  • 根据EXCEL数据自动生成WORD文档
    如何通过excel批量生成word文件?大家应该都有批量生成word文件的工作经历。相信有很多小伙伴都遇到过,一个excel表格里有一批明细数据,然后需要一次性把这些明细数据生成对应的word文件,这项工作如果手动做,一个一个的创建word文件,那工作效率会非常的低。有没有高效快捷的办法批量生成......
  • java导出Excel例子(poi)
    publicclasscreatFile{staticpublicvoidmain(String[]args)throwsException{FileOutputStreamfos=newFileOutputStream("d:\\creatFile.xls");HSSFWorkbookwb=newHSSFWorkbook();HSSFSheets=wb.createSh......
  • 貌似遇到了一个docker 2014年以来就有的大神级大坑,大佬们怎么解决?
    版本centos 3.10.0-1160.53.1.el7.x86_64,华为云服务器。pr1921:48:39k8s-master01kernel:docker0:port1(veth7a384b6)enteredblockingstateApr1921:48:39k8s-master01kernel:docker0:port1(veth7a384b6)entereddisabledstateApr1921:48:39k8s-master......
  • 大佬们,这个导包怎么写呀?本地执行可以,Linux执行报错
    大家好,我是皮皮。一、前言前几天在Python最强白银交流群【喜靓仔】问了一个Python路径处理的问题,这里拿出来给大家分享下。下图是他的代码:二、实现过程这里【小王子】给了一个答案,如下所示:代码如下:fromsysimportpathpath.insert(1,'../app/')importtesttest.test()顺利地......
  • 盘点一个Excel多条件求和的问题
    大家好,我是皮皮。一、前言前几天在Python最强白银交流群【维哥】问了一个Excel处理的问题,这里拿出来给大家分享下。下图是他的数据:二、实现过程这个问题确看上去是Excel的问题,但是怎么开展合并计算,确实头大。虽然用一些文本截取的确可行,但是肯定会增加列。粉丝的需求是一步到位的那......
  • 大佬们,matplotlib安装不上,怎么破?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【Feng】问了一个Python基础的问题,这里拿出来给大家分享下。他遇到的问题是新版本的Python中能安装上matplotlib,但是降低版本缺安装不上matplotlib,而他现在就想在低版本上跑这个matplotlib代码,必须要降低版本。其实思路还是有......
  • 有大佬知道这是为什么嘛?路径和文件名都没错呀
    大家好,我是皮皮。一、前言前几天在Python白银交流群【笑】问了一个Python文件处理的问题,这里拿出来给大家分享下。二、实现过程这里【空翼】指出是路径错了的问题,其实报错也非常明显了。只需要把前面那个topmine_src去掉即可。顺利地解决了粉丝的问题。三、总结大家好,我是皮皮。这......
  • 如何采集百度地图上搜索电话,导出到excel里去
      很多销售推广人员问,怎么样能够快速的把BAIDU地图左边的搜索列表里的商家地图,电话采集出来,导出到EXCEL里。我就开发了一个小软件,专门为快速的实现导出数据到EXCEL。  为了使用方便,已经将全国的所又省份,每个省份里包含的地级市,每个地级市包含的区县,都收集数据集成到......
  • 如何采集高德地图商家电话资料,导出成excel里?
     有很多人问我地图商家电话采集怎么做?怎么样能够快速的把高德地图左边的搜索列表里的商家地图,电话采集出来,导出到EXCEL里?如何快速地将高德地图里的商家电话资料导出EXCEL? 操作步骤:1.选择你要采集的省份,城市列表里就会有相应的省份的城市列表。2.选择要采集的城市,......
  • excel查找参数快速入门
    将两个sheet放在一起,然后以一个sheet的某个单元格填充为准,点击这个要填充的单元格,最终计算的结果就是当前这个sheet要对应的数值是否能查找到,如果能单元值不变;如果不能单元值变化,填充为N/A=VLOOKUP(火车站点!B9,Sheet1!$A$2:$A$120,1,FALSE)火车站点!B9表示当前你要......