1、打开pycharm开发工具,在python项目中,定义列表变量b1并赋值。
2、使用列表中的方法,向列表b1的第二个位置,添加元素yhd,并打印结果。
3、保存代码并运行python文件,结果控制台出现了报错。
4、检查代码发现,本来是想用insert,结果写成了index;修改代码方法,然后保存代码。
5、再次运行python文件,结果发现yhd添加到第二个位置。
在Pandas的DataFrame中添加一行或者一列,添加行有 df.loc[] 以及 df.append() 这两种方法,添加列有 df[] 和 df.insert() 两种方法, 下面对这几种方法的使用进行简单介绍。
采用 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) 这个提示,猜测是有别的地方出问题了,还需要调试。
主要参考资料:
就是把插入行之后值重新输出来。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import xlwt
import xlrd
from xlutils.copy import copy
#styleBoldRed = xlwt.easyxf('font: color-index red, bold on')
#headerStyle = styleBoldRed
#wb = xlwt.Workbook()
#ws = wb.add_sheet('sheetName')
#ws.write(0, 0, "Col1",headerStyle)
#ws.write(0, 1, "Col2", headerStyle)
#ws.write(0, 2, "Col3",headerStyle)
#wb.save('fileName.xls')
#open existed xls file
oldWb = xlrd.open_workbook("fileName.xls", formatting_info=True)
oldWbS = oldWb.sheet_by_index(0)
newWb = copy(oldWb)
newWs = newWb.get_sheet(0)
inserRowNo = 1
newWs.write(inserRowNo, 0, "value1")
newWs.write(inserRowNo, 1, "value2")
newWs.write(inserRowNo, 2, "value3")
for rowIndex in range(inserRowNo, oldWbS.nrows):
for colIndex in range(oldWbS.ncols):
newWs.write(rowIndex + 1, colIndex, oldWbS.cell(rowIndex, colIndex).value)
newWb.save('fileName.xls')
print "save with same name ok"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)