Tag: python 3.x

使用Pandas Python无法访问excel文件

嗨,我想通过几个Excel文件运行我的Python代码,并从每个文件中获取数据并保存到数据框架。 这是我的代码 import os import glob import pandas as pd path =r'C:\Users\user1\Desktop\test' files = os.listdir(path) files_xls = [f for f in files if f[-3:] == 'xls'] df = pd.DataFrame() for f in files_xls: filename, ext = os.path.splitext(f) data = pd.read_excel(f, filename) df = df.append(data) a = df.describe() print (a) 我得到这个错误..我在工作的文件夹中的第一个文件是test.xls Traceback (most recent call last): […]

openpyxl:remove_sheet会导致IndexError:列表索引超出保存工作表的范围错误

我正在尝试使用openpyxl来: 打开包含3个工作表(Sheet1,Sheet2,Sheet3)的Excel(2016)工作簿, 删除工作表(Sheet2) 将工作簿保存到另一个工作簿减去Sheet2 from openpyxl import load_workbook wb = load_workbook("c:/Users/me/book1.xlsx") ws = wb.get_sheet_by_name('Sheet2') wb.remove_sheet(ws) wb.save("c:/Users/me/book2.xlsx") wb.save将生成IndexError: list index out of range错误,并生成Excel无法打开损坏的book2.xlsx文件。

将string导出到Excel中的特定列中

我想学习的是如何使第九列包含Z(到相应的下载文件的链接)我没有得到任何错误,但它不执行我想要它执行。 任何帮助真的很感激。 import csv; import glob; import os from urllib.request import Request, urlopen path = 'C:\\Users\\bruno.rojas\\Desktop\\Python_Data\\Test'; extension = 'csv'; os.chdir(path) file_name = 'TESTEXCEL' # Creates empty lists that will hold their corresponding values links = [] def WebGrab(url, filename): req = Request(url, headers={"User-Agent": "Mozilla/5.0"}) webpage = urlopen(req).read() text_file = open(filename+'.csv', "wb") text_file.write(webpage) text_file.close() return text_file […]

编写大单元格值(公式)时出现exception

我正在使用xlwings在Excel中更新大公式。 我不知道如何禁用与xlwings交互模式,并不像我受到这种影响: pywin32和excel。 写入大量数据时出现exception 当我尝试从pandas数据框中写入form =“ABC”+“DEF”+“XYZ”的巨大公式时,如何debugging下面的exception? 如何find根本原因? pywintypes.com_error:(-2147352567,'Exception occurred。',(0,None,None,None,0,-2146827284),None) 谢谢。

在Python中使用excelinput新列中的数据

我正在使用Python 3.5.2 这是我的input: print("") print("———————————————————————————————————————————————————–") print("| (1) Enter new student details | (2) Edit existing student details | (3) Retrieve Student details |") print("———————————————————————————————————————————————————–") print("") option=int(input("Select an option from the menu, 1/2/3/: ")) if option==1: f=open("Student Details.xls" , "w") f.write("Forename"+"\n") fname=input("Enter the student's first name: ") f.write(fname) f.write("Surname"+"\n") sname=input("Enter the student's surname: ") f.write(sname) f.write("DOB"+"\n") […]

使用Pandas引用下一行值

我正在编写一个脚本来填写表单,并希望从Excel电子表格(一列)中引用数据以填充重复出现的字段。 import pandas as pd file = 'File Path Here' xl = pd.ExcelFile(file) df = pd.read_excel(file, 'Sheet1', index_col=None) num = 1 li = [(df.iloc[0,0])] def next_app(): for num, elem in enumerate(li): thiselem = elem nextelem = li[(num + 1) % len(li)] print(nextelem) next_app() 这显然打印 1的价值,但我不知道如何调用每一个行的值后,我需要。 我确信在for循环中有错误,或者我甚至需要for循环,但是我不确定如何纠正这个错误。 Excel文件包含一个名为“Application”的文本列,其中包含超过300行: |应用| | APPNAME1 | | Appname2 | | […]

Python:从列表中删除逗号,以便我可以使用pandas将数据导入Excel中的单独单元格

我是编码的新手,正在使用Python 3.6。 我正在为工程应用程序编写一些代码,这涉及到将数据存储在基于input的列表中。 基本上我想能够将数据导出到Microsoft Excel,以便它存储在单独的单元格中。 我已经在下面显示了一个简化的例子(不要提示用户input以保持简单)。 import pandas as pd a = [0, 12.5, 25, 37.5, 50, 62.5, 75, 87.5, 100, 112.5, 125, 137.5, 150, 162.5, 175, 187.5, 200, 212.5, 225, 237.7955263, 250] k =len(a) print(k) # Create a Pandas dataframe from some data for a_values. df1 = pd.DataFrame({'a (mm)': [a[0], a[1], a[2], a[3], a[4], […]

使用excel文件时,pandas花费太多时间和内存太多

我正在尝试使用less于50k行的Excel表格。 我想要做的是 – 使用特定的列,我想获得所有的唯一值,然后通过使用唯一的值,我想获得所有包含该值的行,并把它们放在这种格式 [{ "unique_field_value": [Array containing row data that match the unique value as dictionaries] },] 事情是当我testing像1000行一样less行时一切顺利。 随着数量的增长,内存使用量也会增加,直到不能再增长,我的电脑就会冻结。 那么,有没有什么东西与pandas做得不对? 这里是我的平台的细节: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS" NAME="Ubuntu" VERSION="16.04.3 LTS (Xenial Xerus)" ID_LIKE=debian VERSION_ID="16.04" 这是我在Jupyter Notebook上运行的代码 import pandas as pd import simplejson import datetime def datetime_handler(x): if isinstance(x, datetime.datetime): return x.isoformat() raise TypeError("Type not […]

使用date作为输出文件中的索引

我有几个不同的date文件的Excel文件。 我必须连接所有这些文件的文件名date作为索引列。 我写下面的代码如下: path = r"C:\\Users\\atcs\\Desktop\\data science\\files\\1-Danny Jones KPI's\\Source\\" fileName = glob.glob(os.path.join(path, "*.xlsx")) df = (pd.read_excel(f, header=None, sheetname = "YTD Summary_4") for f in fileName) k = (re.search("([0-9]{1,2}\-[0-9]{1,2}\-[0-9]{4})", fileName)) concatenated_df = pd.concat(df, index=k) concatenated_df.to_csv('tableau7.csv') 我在这里所做的是首先定义一个目录,然后将所有包含xlsx文件的文件分配给文件名。 我在一个datadrame中定义了文件名,使用正则expression式从文件名获得date并将其分配给variablesk。 现在我连接文件来获得输出CSV文件。 但代码以某种方式给出了一个错误: TypeError:预期的string或类似字节的对象 。 有人能帮助我,我做错了什么。

删除一行中具有重复项的重复项的dynamic数据

我正在尝试删除重复的列Ddynamic数据没有标题或标识function。 我正在尝试删除所有的行D列重复的行。我正在转换为一个数据框的Excel,删除重复,然后把它放回到Excel中。 但是,我不断收到各种错误或删除重复。 我来自VBA的背景,但我们正在迁移到Python 尝试: df.drop_duplicates(["C"]) df = pd.DataFrame({"C"}) df.groupby(["C"]).filter(lambda df:df.shape[0] == 1) As well an assortment of other variations. I was able to do this in VBA with one line. Any ideas why this keeps causing this issue. \\ import pandas as pd df = pd.DataFrame({"C"]}) df.drop_duplicates(subset=[''C'], keep=False) DG=df.groupby([''C']) print pd.concat([DG.get_group(item) for item, value […]