Tag: openpyxl

如何导入一个Excel工作表作为一个整体,并保存在Mysql数据库使用Python

我有一个Excel文件(.xlsx)与45列1000多行。 我想采取所有的数据,并使用Python 3.5将其存储在MySQL数据库中。 我做了什么:- 我已经使用openpyxl将这些值存储在Python列表中,然后将其存储在数据库中。 import pymysql import openpyxl source_excel=input('Enter the source excel file name-> ') wb=openpyxl.load_workbook(source_excel) sheet=wb.active strt=int(input('Enter starting range-> ')) end=int(input('Enter ending range-> ')) name=[] for q in range(strt,end): a=q,sheet.cell(row=q,column=1).value name.append(a) 因此,与最后3行代码相同的方式,我使用它45次,然后通过更改列编号进入数据库。 有什么办法可以将Excel文件的所有数据作为批量获取并存储在Mysql中? 另外,如果可能的话,请帮助我如何导出一个MySQL表作为一个Excel文件。 谢谢!

Python:用OpenPyXL模拟CSV.DictReader

我有一个Excel(.xlsx)文件,我试图parsing,逐行。 我有一个标题(第一行),有一堆列标题,如学校,名字,姓氏,电子邮件等 当我循环遍历每一行时,我想能够像这样说: row['School'] 并取回当前行和“School”作为标题的列的单元格的值。 我已经浏览了OpenPyXL文档,但似乎找不到任何有用的东西。 有什么build议么?

SymPy的Sympify函数返回一个string,而不是一个SymPy对象

我有一个两列的Excel文件; 第一个包含我的variables名称,第二个包含一个键入mathexpression式的string。 使用Python 2.7.12和openpyxl 2.3.2,我正在导入这些数据。 该string默认导入为unicode。 我想从我导入的string创build一个Sympy对象来执行一些操作。 但是,在这种情况下sympifying我的导入string返回一个string对象,而不是一个SymPy对象。 为什么是这样? 我得到预期的行为(sympify返回一个SymPy对象),如果我反而硬编码string到我的.py文件。 此代码说明: from sympy import * import openpyxl imported_data = openpyxl.load_workbook('sample_workbook.xlsx') data = imported_data.get_sheet_by_name('sheet1') variable_name = data['A1'].value variable_value = data['B1'].value globals()[variable_name] = variable_value x = symbols('x') print(type(variable1)) # This is a unicode string sympy_expr = sympify(variable1) print(type(sympy_expr)) # This should now be a SymPy object, but […]

我无法使用openpyxl读取数据,但可以在手动保存目标文件后读取数据

我在openpyxl上遇到了一个奇怪的现象。 有谁知道如何解决它? (1)我想操纵从外部网站下载的xlsx文件(如银行交易,这里提供xlsx格式)。 然后我想用openpyxl提取数据。 (2)这是我的代码。 wb = xl.load_workbook(file, data_only=True, read_only=True) ws = wb[sh] print( ws.cell(column=col, row=row).value ) (3)我运行这个代码。 那么结果是“无”。 (4)我打开文件并确认有数据。 (5)我保存文件(没有任何改变)。 (6)我再次运行代码。 那么结果不是“无”,而是存储在xlsx中的数据。 这很好,但是我觉得这个操作每次打开和保存一次都是很单调的。 我读了像'data_only','use_iterators','read_only'的选项可能会改变返回的值。 我试着评论一些结果,看结果是否改变,但不是原因。 有谁知道解决scheme?

遍历所有的行/列openpyxl不再适用于新版本> 2.3.5

使用openpyxl 2.3.5版本的代码工作: from openpyxl import load_workbook excel_file = load_workbook(excel_file_path,read_only=True) sheet = excel_file["Sheet1"] mylist = [] for row in sheet: for cell in row: mylist.append((cell.value, cell.row, cell.column)) 我这样做,所以我可以更快地处理我的大型Excel文件。 但是从2.4.x开始新版本不再适用了,第一个“for-loop”立即中断,版本发生了什么变化? 或者我怎样才能做到最新版本的openpyxl?

使用条件格式获取单元格的openpyxl选定的填充颜色

有了这个代码,我可以打印单元格C23的填充颜色。 但是当我使用条件格式时,它不会返回当前的颜色,而是条件格式之前的颜色。 import openpyxl W = openpyxl.load_workbook("file.xlsx") p2 = W.get_sheet_by_name(name = 'sheet') print p2["C24"].fill.start_color.index print p2["C24"].value 有没有办法获得当前的条件和不条件格式的单元格的填充颜色?

Python与Openpyxl。 公式分析错误。 意想不到的字符

我准备准备一些导出Excel文件的工具。 我有一个文件模板,当我用openpyxl加载它,我得到一个错误: File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\reader\excel.py", line 234, in load_workbook parser.parse() File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\reader\worksheet.py", line 106, in parse dispatcher[tag_name](element) File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\reader\worksheet.py", line 243, in parse_row_dimensions self.parse_cell(cell) File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\reader\worksheet.py", line 172, in parse_cell value = trans.translate_formula(coordinate) File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\formula\translate.py", line 145, in translate_formula tokens = self.get_tokens() File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\formula\translate.py", line 54, in get_tokens self.tokenizer.parse() File "D:\Python\lib\site-packages\openpyxl-2.3.5-py2.7.egg\openpyxl\formula\tokenizer.py", line 83, in parse self.offset […]

使用Python和Openpyxl循环一个.xlsx,但循环只保存最后一行的数据

我是一个Python的新手,我正在一个项目,以自动化一个非常耗时的项目。 我使用的是openpyxl来访问.xlsx来提取信息,最终将转换成距离和方向轴承与arcpy / arcgis一起使用,这意味着我正在使用Python 2.7。 我可以访问数据并进行第一轮更改,但无法将我的写入命令集成到我的循环中。 目前它将最后一行的数据保存到新的.xlsx中给定范围内的所有单元格中。 这是我的代码: #Importing OpenPyXl and loads the workbook and sheet import openpyxl wb = openpyxl.load_workbook('TESTVECT.xlsx') ws = wb.get_sheet_by_name('TEST') #allows to save more than once write_only = False cell_range = ws['C'] #sorts through either the rows/columns and slices the required string maxRow = ws.max_row + 1 for row in range(2, […]

Openpyxl图表 – 来自随机未连接单元的数据序列可能吗?

我目前正在尝试使用python模块openpyxl,尝试在工作中自动执行一些任务并自动生成电子表格。 对于需要的工作表之一,我需要从列表数据生成散点图。 但是,散点图应该由连接两个点的多条直线组成,因此散点图中的每个单独的x / y系列应仅连接两个点。 一般来说,我从openpyxl文档中发现,像这个小例子那样生成了散点图: from openpyxl import Workbook from openpyxl.chart import ( ScatterChart, Reference, Series, ) wb = Workbook() ws = wb.active rows = [ ['Size', 'Batch 1', 'Batch 2'], [2, 40, 30], [3, 40, 25], [4, 50, 30], [5, 30, 25], [6, 25, 35], [7, 20, 40], ] for row in rows: […]

我怎么总是将当前的variables值传递给一个Python函数?

我有一个项目,我希望用户在Excel表格中指定input参数,然后使用openpyxl将其读入到一个类中的多个函数中。 我的问题是,每当我在工作表中更改一个值时,我必须再次运行脚本以使更改生效。 由于我想以交互方式使用脚本并快速显示不同的值,这需要很长时间。 是否有另一种方法总是从表单中更改variables传递给函数? 这是我的代码: class input: def __init__(self, vals=None): self.vals = vals self.wb = load_workbook("input.xlsx", data_only = True) self.ws = self.wb.get_active_sheet() def get_var(self): self.var = self.ws["B3"].value return self.var wb.save() input.input() 在从Excel工作表中获取值之前,我已经将其他模块中的参数导入到主模块中。 我有同样的问题,但认为是由导入命令造成的。 我查看重装模块,但似乎没有解决问题。 然后,我介绍了我认为会做的function,但没有成功。 任何帮助,将不胜感激,谢谢!