Tag: python

Openpyxl:迭代单元格的范围

我会写一个单元格的范围从列表中取得的一系列值。 视图 def create_excel(avg): wb = load_workbook('output/file_base.xlsx') ws = wb.active ws['D20'] = avg[0] ws['D21'] = avg[1] ws['D22'] = avg[2] ws['D23'] = avg[3] ws['D24'] = avg[4] ws['D25'] = avg[5] wb.save('out.xlsx') return 1 我会做这个使用循环,我已经尝试了以下内容: start, stop = 20,26 for index, row in enumerate(ws.iter_rows()): if start < index < stop: ws.cell[index] = avg[index] 但是它返回: list index out of […]

MySQL,行消失

我遇到了一个不寻常的问题,可能会突出我对MySQL的不熟悉。 我有超过1000个Excel文件需要上传到MySQL服务器。 我用mysql.connector和xlrd写了一个简单的python程序,(python 2.7仅供参考)。 该程序基本上收集相关的数据,然后添加使用 "INSERT INTO realposts " "(PostId, Subreddit, Title, Body, Username, NumberofComments, Upvotes, CreationTime, Link, Gilded, SFW)" "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" "ON DUPLICATE KEY UPDATE NumberofComments = NumberofComments, Upvotes = Upvotes, Gilded = Gilded;" 到现在为止还挺好! 我添加了大约400个Excel文件,没有问题。 然后,我又加了400个,到目前为止这么好。 然而,我到了最后的200人,在对数据进行快速分析时,注意到当我这样做的时候 select subreddit, count(*) from realposts group […]

使用python将段从一个Excel文件复制到另一个文件:xlrd和xlsxwriter

我正在尝试将Excel工作表的整个部分复制到另一个文件。 该段实际上是一个头/描述,主要描述文件的属性,创build的date等…所有这些需要一些细胞在前五行和前三列,从A1:C3说。 这里是我写的代码(为了举例,只做了3行): import xlsxwriter import xlrd #### open original excelbook workbook = xlrd.open_workbook('hello.xlsx') sheet = workbook.sheet_by_index(0) # list of populated header rows row_header_list = ['A1','A2','A3','A4','A5'] i = 0 c = 0 while c <= 2: #### read original xcel book 3 rows by loop – counter is futher below data = [sheet.cell_value(c, col) for […]

Python:'NoneType'对象没有属性'decompressobj'

我在Ubuntu上使用Python 2.7.11。 我试图用xlrd包在Python中打开一个Excel文件(.xlsx)。 但是,当我尝试使用包中的open_workbook()函数打开我的Excel文件时,出现以下错误: Traceback (most recent call last): File "TileInserter.py", line 15, in <module> book = open_workbook(sheetPath, on_demand=True) File "/usr/local/lib/python2.7/site-packages/xlrd/__init__.py", line 422, in open_workbook ragged_rows=ragged_rows, File "/usr/local/lib/python2.7/site-packages/xlrd/xlsx.py", line 761, in open_workbook_2007_xml zflo = zf.open(component_names['xl/_rels/workbook.xml.rels']) File "/usr/local/lib/python2.7/zipfile.py", line 1010, in open close_fileobj=should_close) File "/usr/local/lib/python2.7/zipfile.py", line 526, in __init__ self._decompressor = zlib.decompressobj(-15) AttributeError: 'NoneType' object has […]

用Python分割xls文件

我有一个大的.xls文件,我想根据第一列分成几个文件。 数据结构有点不好使其复杂化了很多。 基本上我需要为“问题”(见下文)开始的每一行创build一个单独的文件。 选项的数量是可变的,所以我不能使用块大小。 有什么办法可以用Python做到这一点? 我已经search了很多stackoverflow,但我找不到确切的答案。 很感谢任何forms的帮助。 Column A Column B Column C Question 1 Option 1 Info1 Info2 Option 2 Info3 Option 3 Question 2 Option 1 Option 2 Option 3 Option 4 Question 3 Option 1 Option 2 Option 3

附加一个循环的数据框

早上, 我有3个擅长,我通过从Excel导入。 我正在尝试创build一个从每个导入名称('Ticker')列的DataFrame,添加Excel('Secto')的标题,并将其附加到eachother以创build一个新的DataFrame。 这个新的DataFrame将被导出到Excel。 AA = ['Aero&Def','REITs', 'Auto&Parts'] File = 'FTSEASX_'+AA[0]+'_Price.xlsx' xlsx = pd.ExcelFile('C:/Users/Ben/'+File) df = pd.read_excel(xlsx, 'Price_Data') df = df[df.Identifier.notnull()] df.fillna(0) a = [] b = [] for i in df['Ticker']: a.append(i) b.append(AA[0]) raw_data = {'Ticker': a, 'Sector': b} df2 = pd.DataFrame(raw_data, columns = ['Ticker', 'Sector']) del AA[0] for j in AA: File = […]

在单元上循环并在VBA中覆盖它们(如有必要)

我正在尝试检测并处理我的数据中的“重置”。 数据应该一直在增加,但有时传感器喜欢重置到一个更低的值。 我想检测这些并通过将当前值与之前的值相加来纠正它们以获得当前值。 例: 1 2 5 10 11 100 150 2 3 5 应该: 1 2 5 10 11 100 150 152 153 155 这是一个为我工作的Python实现: def process(arr): max_before_reset = 0 reset_detected = False old = arr[:] for i, e in enumerate(old): # enumerate contains original array if i == 0: continue if e < […]

读取图像并将其插入到数据库中

我有一个任务,从Excel文件读取数据的一拳,并从文件夹中读取图像,然后将其插入到数据库中。 excel表单就像: ————- Name |Id – Photo x |1 – Photo y |2 – ————- 我有一个数据库表,如: ============== Name |Binary = ============== 该文件夹中的照片是按照id(1.jpg,… ect)的名称来匹配Excel表格 所以我的想法是从文件夹(1500图像)读取所有图像path,并将它们添加到列表(图像path列表),然后从Excel中读取数据,并将它们加在一起 我可以从Excel文件轻松读取数据,并阅读所有列easy loop并将它们插入到数据库中,但问题是如何读取图像并将它们与excel数据一起插入?

使用Difflib合并Excel工作表

我一直在试图根据自己的名称列合并两个Excel表。 我用这个作为参考。 在df1中,名称列是Local Customer df2,名称列是Client import difflib import pandas as pd path= 'C:/Users/Rukgo/Desktop/Match thing/' df1=pd.read_excel(path+'2015_TXNs.xls') df2=pd.read_excel(path+'Pipeline.xls') df2['Client'] = df2['Client'].apply(lambda x: difflib.get_close_matches(x, df1['Local Customer'])[0]) result = df1.join(df2) result.to_excel(path+'maybe.xls') 虽然当我运行这个我得到一个以下错误: File "C:/Users/Rukgo/Desktop/Match Things/untitled3.py", line 16, in <lambda> df2['Client'] = df2['Client'].apply(lambda x: difflib.get_close_matches(x, df1['Local Customer'])[0]) IndexError: list index out of range

实际的MS Excel公式vdb()

我需要在Python中重写一个vdb()函数,我无法在互联网上find实际的math公式。 这是function的描述。 VDBfunction 本文介绍Microsoft Excel中VDB函数的公式语法和用法。 说明使用双倍余额递减方法或指定的其他方法,返回您指定的任何期间(包括部分期间)资产的折旧。 VDB代表可变的下降余额。 句法 VDB(cost,salvage,life,start_period,end_period,[factor],[no_switch]) VDB函数语法具有以下参数: 成本要求。 资产的初始成本。 需要打捞。 折旧结束时的价值(有时称为资产的残值)。 该值可以是0。 需要的生活。 资产折旧的期限(有时称为资产的使用期限)。 Start_period必需。 您要计算折旧的起始期限。 Start_period必须使用与生命相同的单位。 End_period必需。 您想要计算折旧的期末。 End_period必须使用与生命相同的单位。 因子可选。 余额下降的速度。 如果省略因素,则假定为2(双倍余额递减法)。 如果您不想使用双倍余额递减方法,则更改系数。 有关双倍余额递减方法的说明,请参见DDB。 No_switch可选。 当折旧大于余额递减计算时,指定是否切换到直线折旧的逻辑值。 如果no_switch为TRUE,则即使折旧大于余额递减计算,Microsoft Excel也不会切换到直线折旧。 如果no_switch为FALSE或省略,则当折旧大于余额递减计算时,Excel切换到直线折旧。