推荐网站建设服务,网站建设万禾,怎样做模板网站,中国最好的网站建设input输入表头 input输入表头
#xff08;input内除了/#xff0c;空格 回车 标点符号等
全部作为单元格分隔符#xff09;保存/storage/emulated/0/代码文件/
没有就创建文件名命名方法#xff1a;编号. 库 时间戳嗨#xff01;听说你有个需求#xff0c;想根据用户输入…input输入表头 input输入表头
input内除了/空格 回车 标点符号等
全部作为单元格分隔符保存/storage/emulated/0/代码文件/
没有就创建文件名命名方法编号. 库 时间戳嗨听说你有个需求想根据用户输入的内容创建一个Excel表格并按照指定的命名方法来保存这个文件。哈哈下面就给你看一个示例代码让你瞧瞧是怎么做到的
import pandas as pd
import os
import re
import time# 获取用户输入
header input(请输入表头内容)# 使用正则表达式替换除了斜杠、空格、回车和标点符号之外的字符为空格
header re.sub(r[^\w\s/], , header)# 使用空格作为分隔符将表头拆分成列表
header_list header.split()# 创建空的DataFrame
df pd.DataFrame()# 在DataFrame中添加表头
df.columns header_list# 创建保存目录
directory /storage/emulated/0/代码文件/
if not os.path.exists(directory):os.makedirs(directory)# 生成文件名
file_name {}.{}_{}.xlsx.format(编号, 库, int(time.time()))# 保存Excel文件
excel_file os.path.join(directory, file_name)
df.to_excel(excel_file, indexFalse)首先我们要获取用户输入的表头内容。嗯我会不厌其烦地把这个内容转换成Excel表格能接受的样子去掉一些有点奇怪的符号。 然后我们把处理好的表头放进一个全新而空白的Excel表格中让它在那里等着耐心地等着。 接下来我们要创建一个特别的目录为了保存这个特别的Excel文件。如果这个目录已经存在就别管它了如果不存在我会亲自帮你建立起来。
让我们看看这段代码在“生成Excel文件”这个过程中进行了哪些操作
开始
├─ 获取用户输入表头内容
│ └─ 干掉不需要的字符
├─ 拆分表头为列表
├─ 创建空的DataFrame
├─ 将表头添加到DataFrame中
├─ 创建保存目录
│ ├─ 如果目录不存在创建该目录
│ └─ 如果目录已经存在直接进入下一步
├─ 生成文件名
│ ├─ 包括一个编号
│ ├─ 一个库
│ └─ 当前时间的整数形式
├─ 保存Excel文件
│ ├─ 将DataFrame保存为Excel格式
│ ├─ 不要在Excel中显示行号
│ └─ 保存文件到指定目录下
└─ 结束现在是时候给你的Excel文件起个独一无二的名字了名字里包含一个编号还有一个库最后再加上当前的时间这样才够酷对吧
最后一步就是把这个充满了期待的Excel文件保存起来了。我会小心翼翼地将这个表格以Excel格式保存好并告诉它不要在Excel中显示行号。然后我会把它放到我们刚刚特地创建的目录里好让你一眼就能找到。 哈哈到此为止任务完成了我们成功地根据用户需求创建了一个带有特别命名的Excel文件。感觉很有成就感对吧
但是我们输入出错了 这是为什么❓
出现错误的原因是在创建空的DataFrame后没有正确地设置表头。在设置表头时长度不匹配导致了ValueError。
问题出在这一行代码 df.columns header_list 根据错误信息可以看到预期的轴Expected axis应该有0个元素但新值new values却有4个元素。这说明你的header_list列表长度为4但是空的DataFrame并没有指定任何轴。 为了解决这个问题你需要先手动为DataFrame添加一行空数据然后再设置表头。修改的代码如下
# 创建空的DataFrame并添加一行空数据
df pd.DataFrame([[]])# 在DataFrame中添加表头
df.columns header_list这样修改后你应该能够看到新的错误❌答案
根据你提供的错误信息问题仍然是由于长度不匹配导致的ValueError。根据错误信息预期的轴Expected axis应该有0个元素但新值new values却有3个元素。
这说明你的header_list列表长度为3但是空的DataFrame并没有指定任何轴。
为了解决这个问题请按照以下步骤修改代码
创建一个空的DataFrame并指定一个行axis0。在DataFrame中添加表头确保表头与header_list的长度相匹配。
修改的代码如下
# 创建空的DataFrame并添加一行空数据
df pd.DataFrame(columnsheader_list)# 保存Excel文件
excel_file os.path.join(directory, file_name)
df.to_excel(excel_file, indexFalse)这样修改后可以看到我们终于不再报错了。 你应该能够成功设置表头并继续执行后续的操作。
我们胜利了
修改后的代码为 import pandas as pd # 导入pandas库用来玩转数据
import os # 导入os模块和电脑文件玩耍
import re # 导入re模块用来和字符们搞点小花样
import time # 导入time模块和时间交个朋友# 获取用户输入
header input(请输入表头内容) # 用户大佬请告诉我表头是啥子# 使用正则表达式替换除了斜杠、空格、回车和标点符号之外的字符为空格
header re.sub(r[^\w\s/], , header) # 通过施展魔法把不属于字母数字、斜杠、空格、回车和标点符号的字符都变为空格# 使用空格作为分隔符将表头拆分成列表
header_list header.split() # 把表头按照空格进行裁剪装进一个列表# 创建空的DataFrame并添加一行空数据
df pd.DataFrame(columnsheader_list) # 准备一个空荡荡的表格列名就是刚才小伙伴们给的表头# 在DataFrame中添加表头
df.columns header_list # 让这个表格的列名变成刚才想好的表头们# 创建保存目录
directory /storage/emulated/0/代码文件/ # 准备好一个地方专门用来保存代码文件# 看看这个地方存不存在不存在就创建一个
if not os.path.exists(directory): # 如果这个地方不存在的话os.makedirs(directory) # 那咱们老老实实地创建一个目录吧# 生成文件名
file_name {}.{}_{}.xlsx.format(编号, 库, int(time.time())) # 按照规矩来给这个文件宝贝安排一个名字# 保存Excel文件
excel_file os.path.join(directory, file_name) # 告诉电脑宝贝这个文件要保存在哪里
df.to_excel(excel_file, indexFalse) # 把上面那个空荡荡的表格给保存到Excel文件里面去别忘了把索引列也去掉哦~