采用 loc[] 方法多适用于对空的dataframe循环遍历添加行,这样索引可以从0开始直到数据结果,不会存在索引冲突的问题。
不过在使用insert的过程中发现 454: DeprecationWarning: `input_splitter` is deprecated since IPython 7.0, prefer `input_transformer_manager`. status, indent_spaces = self.shell.input_splitter.check_complete(code) 这个提示,猜测是有别的地方出问题了,还需要调试。
主要参考资料:
百度会吞缩进,我发其他网站了。paste.ubuntu
# 安装
while True:
try:
import openpyxl
break
except:
print('未安装openpyxl库,正在安装')
from os import system
system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl')
# 保存xlsx
def save_xlsx(list1,path):
# 创建一个excel工作簿
wb = openpyxl.Workbook()
# 创建之后可以通过active获取默认的第一个
ws1 = wb.active
# 通过append来添加一行数据
for conten in list1:
ws1.append(conten)
# 保存
wb.save(path)
# 读取xlsx
def read_xlsx(path):
# 打开文件:
excel = openpyxl.load_workbook(path)
# 获取sheet,索引获取
table = excel.get_sheet_by_name(excel.get_sheet_names()[0])
# 返回数据
return list(map(list,table.values))
# 1-75循环生成器
def loop(s,e):
i = s
while True:
if i == e:
i = s
yield i
i += 1
if __name__ == '__main__':
path = 'D://book.xlsx' # 文件路径
l = loop(1,75) # 左闭右开,不包括75
datas = read_xlsx(path) # 读取文件
# 处理数据,不确定是不是有多个数字的情况,这里按多个数字写的
lins = None
for row in datas[1:]:
if lins != row[0]: # 判断的数字在哪一列?索引值
lins = row[0]
l = loop(1, 75)
row.append(l.__next__())
save_xlsx(datas,path) # 覆盖保存新文件
print('完成')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)