Tag: python

Python – 如何使用for循环将数据写入单元格,然后移动到下一行

我有什么感觉像一个相对简单的解决scheme的问题,但在这一点上,它逃脱了我的研究。 我试图从一个元组写入项目到四个连续的行使用for循环,但我似乎无法弄清楚。 我怀疑它可以用openpyxl包中的iter_rows模块来完成,但我还没有能够正确地在循环中应用它。 下面这段代码将生成一个.xlsx文件,其中元组的最后一项分配给单元格“A2”: from openpyxl import Workbook nfc_east = ('DAL', 'WAS', 'PHI', 'NYG') wb = Workbook() ws = wb.active row_cell = 2 for i in nfc_east: column_cell = 'A' ws.cell(row = row_cell, column = column_cell).value = str(i) row_cell = row_cell + 1 wb.save("row_creation_loop.xlsx") 所有的build议和(build设性的)批评都欢迎。 谢谢!

Python:如何从一个XLSXsearchstring到另一个XLSX文件?

我有两个XLSX文件(cookies和奶油),我想知道A列(在Cookie中)每行中的值是否存在于列D(在Cream中)的某一行中。 使用openpyxl,我派生了下面的代码: for mrow in range(1, Cookies.get_highest_row() +1): for arow in range(1, Cream.get_highest_row() +1): if cookies['A' + str(mrow)].value == cream['D' + str(arow)].value: print(cookies['A' + str(mrow)].value) break 即使这样做的工作如预期,这需要很长的时间来执行,因为cookies包含大约7000行,而奶油已经超过24000。 谢谢你的帮助

使用“ws.cell(row = row,column = columnl).value = looprow”删除以前保存在python中的数据

我是新来的openpyxl。 当我使用“ws.cell(row = row,column = columnl).value = looprow”时,它将删除以前保存的数据。 这是我的代码。 import openpyxl wb = openpyxl.Workbook() ws = wb.active looprow = 1 for i in range(1 , 10): writetocell = 3 ws.cell(row = looprow, column = writetocell).value = looprow wb.save("/home/richard/Desktop/sample.xlsx") looprow += 1 我想要做的是更新sample.xlsx不覆盖。 它删除列A和B中的数据,然后将数据添加到列C,我想要做的是保留列A和B的数据,然后将数据添加到列C.

如何在win32com.client中使用Python在Excel中的文本框中更改文本的字体颜色

我想尝试更改Excel中文本框中显示的文本的字体颜色。 我目前正在使用python来访问对象,但不能这样做。 ActiveSheet.Shapes.Range(Array("Text1")).Select Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "7" With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill .ForeColor.RGB = RGB(255, 0, 0) 下面的代码是VBA等同于将数字7分配给文本框,并将文本的字体颜色更改为红色。 我试过使用各种迭代,并遇到以下python代码来执行相同的过程。 Currentsheet.Shapes.Range("Text1").TextFrame2.TextRange.Characters.Text= 7 Currentsheet.Shapes.Range("Text1").TextFrame2.TextRange.Font.ForeColor.RGB('255','0','0') 代码的第一部分工作,我可以将值7分配给文本框。 但是,我无法将字体颜色分配为红色。 任何帮助在这方面将不胜感激。

重命名列名 – Excel

是否有可能使用xlsxwriter模块重命名列标题? 我认为这应该是可能的,但我不知道如何。 我检查了set_column方法,但没有成功。 set_column(self, firstcol, lastcol, width=None, cell_format=None, options={}): 也许在选项字典? 你有什么build议吗?

win32com模拟执行在Excel中select所有两次

在win32com中, cells = worksheet.UsedRange 类似于在Excel中单击一次cntl-a。 什么是win32com等同于做cntl-a两次? 用例是当你使用格式画家后按cntl-a两次,它将粘贴所有的格式,包括列的宽度。

如何复制现有的工作表,并使用xlrd,xlwt和xlutils将其复制到同一工作簿中

我有一个Excel模板文件点xlt扩展名。 我想使用python(xlrd,xlwt和xlutils)将程序复制到新的工作簿(不同的名称)的现有模板的程序。 然后,工具书将会有一张表格作为模板。 我的问题,如何将第一张表复制并粘贴到相同的工作簿。 所以,输出结果与工作簿中的模板相同。 请告诉我该怎么做?

如何使用Python将XLS转换为CSV文件?

我正在使用QGIS 2.8.1 python控制台。 我想用python将许多xls文件转换成csv格式。 我的input目录是: D:\PATRICIA\TESTE\XLS ,输出是: D:\PATRICIA\TESTE\CSV2 。 我根据你的build议编写了这段代码(把xls文件转换成Python中的csv / txt文件 ),并用不同的date1999/01/2直到1999/01/31文件开发它: RR_1999_1_2.xls , RR_1999_1_3.xls , … RR_1999_1_31.xls 我不知道为什么我的脚本不起作用。 这意味着什么都没有发生! 我的脚本是 : import xlrd import csv import datetime as dt from datetime import timedelta #initial and final dates data1='19990102' data2='19990131' anoi = int(data1[:4]) mesi = int(data1[4:6]) diai = int(data1[6:8]) anof = int(data2[:4]) mesf = […]

为什么我的mssql表格数据比excel大?

我有两个数据文件是156 MB和200 MB。 我在Python中做了一些处理,例如删除一列和添加一个新的列。 当我将数据导入MSSQL表时,其大小爆炸为1GB +。 有人可以向我解释我做错了什么或为什么这样做? 有没有一种方法可以最小化MSSQL表的大小? 谢谢, 菲尔

在嵌套的python列表中查找有效的search方法

我是这个论坛的新手,基本上是一名networking工程师,学习Python来自动执行一些任务,使我的工作更有效率。 那么,直接点。 我有一张大的excel工作簿,每张大约有5万行。 学习了几个星期和广泛的search后,我能够加载整个Excel单元格值嵌套列表中,例如 list [sheet_index][row_index][column_index]. 现在得到input后,下一部分是操纵这些数据。 我的任务是从每一行中查找特定的列值,并在整个工作簿中search,如果find,则不同列中的相应数据应与原始search对象一致。 我的方法如下所示: 在一个大列表中获取单元格值(正如我前面提到的那样)将该列表在一个不同的variables中作为一维列表进行扁平化。 在一个循环中,从一行(固定列)中获取特定值,然后在整个一维列表中search,如果find,则将相应的值写入另一个excel文件中。 到目前为止,这种方法工作正常,还有一个额外的长时间拖延,这是从Excel VBA程序漂移到Python的动机。 所以,我在这里问问专家是否有一些非常基本的东西,我错过了。 这是下面的代码: import xlrd import xlwt from compiler.ast import flatten datafile = 'Peering_DB.xls' # Data Read Function Definition def main(datafile): wb = xlrd.open_workbook(datafile) wwb = copy(wb) data = [[[wb.sheet_by_index(i).cell_value(r, col) for col in range(wb.sheet_by_index(i).ncols)] for r in range(wb.sheet_by_index(i).nrows)] for i in range(0,4)] […]