Tag: python

在写一个pandasDataframe到Excel文件时遇到麻烦

我有一个Excel文件列表,我正在创build数据框。 我在数据框上执行一些任务,然后尝试将这些数据框写回到文件中(更像是完全replace它们)。 但我无法写入文件。 这是代码 for file in files: file_name = os.path.basename(file) table = pd.read_excel(file, 0) ## (Perform Operations here) writer = pd.ExcelWriter(file) df.to_excel(writer,'Sheet1') writer.save 现在,当我试图将文件读回pandas时,我得到这个错误 FileNotFoundError: [Errno 2] No such file or directory: 'test2.xlsx' 没有任何文件正在创build。 但是我无法知道我哪里错了。 另外writer.save返回 <bound method _XlsxWriter.save of <pandas.io.excel._XlsxWriter object at 0x000000000B9712E8>>

循环项目并保存到.xlsx文件,只保存最后一个值使用网页抓取?

我对Python很新。 尽量在做项目的同时尽量学习,以保持兴趣水平。 在下面的代码中,我试图从网站上获取信息,并将所有的公司名称和地址等存入excel文件。 我想我需要定义如何为每个迭代/公司分配excel行和列。 我只是对如何去做一个空白。 import requests, os from bs4 import BeautifulSoup from openpyxl import Workbook from openpyxl import load_workbook url = "https://dir.indiamart.com/search.mp?ss=Power+Distribution+Transformers" r = requests.get(url) soup = BeautifulSoup(r.content) links = soup.find_all("a") for link in links: print("<a href='%s'>%s</a>" % (link.get("href"), link.text)) g_data = soup.find_all("div", {"class": "nes"}) c = [] d = [] for item in […]

Python Pandas错误:pandas只能使用.str访问器和string值

我有一个pandas脚本,我得到一个Excel工作表,并把它放在一个pandas数据框,然后我在这个数据框中查找一个特定的单词,然后我创build一个1和0的df掩码,在那里我find了单词。 我没有Excel表格的特定格式,所以我得到所有的信息,我find了这个词,并创build一个与此行产生的错误的面具: mask = np.column_stack([df[col].str.find(word) for col in df.columns.tolist()]).astype(int) 这行有时会产生这个错误: pandas只能使用带string值的.str访问器,它使用pandas中的np.object_ dtype 任何想法为什么以及如何使其工作? 谢谢

将多个不同行的Excel文件合并到pandas的一个Excel文件中

我有4个Excel文件,我必须合并成一个Excel文件。 包含ID,姓名,年龄和性别的人口统计文件。 实验室文件包含ID,缩写testing名称,testingdate和testing值。 包含身份证,姓名缩写,身体状况,开始和停止date的医疗logging。 给药含有ID,姓名,药物名称,剂量,频率,开始和停止date。 有50个病人。 人口档案包含50个病人的全部50行。 其余的文件有50个病人,但在100到400行,因为每个病人有多个实验室testing或多种药物。 当我在大pandas合并时,我有错误的病人重复或分配实体。 我们面临的挑战是如果你的病人有比实验室更多的药物治疗,那么实验室检查应该用空格来替代重复的病人。 这是一个缩短的表示forms: import pandas as pd lab = pd.read_excel('data/data.xlsx', sheetname='lab') drugs = pd.read_excel('data/data.xlsx', sheetname='drugs') merged_data = pd.merge(drugs, lab, on='ID', how='left') merged_data.to_excel('merged_data.xls') 你得到这个结果: pandas合并结果 我更喜欢这个结果:首选输出

填充Pythonpandas数据框

我可以写一个常规的数据框,它具有行和列的值,但是不能find写入行的方法,例如method1,method2..etc,deterministic …。 而且,我也没有find一种方法来拆分一个列(例如,没有位| 4)。 这是一个单独的Excel文件,其中数据将被添加一段时间后。 任何帮助将不胜感激 :) 谢谢!

根据不同列中的值查找行号列表?

我正在一个项目中,我有一个xlsx的logging。 有些logging有多个实例。 喜欢这个: Id, Field 1, Field 2, Field 3 ABC01, 0.034, 0.044, 0.050 ABC01, 0.055, 0.065, 0.060 ABC01, 0.047, 0.082, 0.070 DEF02, 0.034, 0.044, 0.050 DEF02, 0.055, 0.065, 0.060 XYZ05, 0.047, 0.082, 0.070 我的目标是将字段3中具有最高值的每个实例的整行写入到一个新的xlsx中。 我也想要复制非复制的logging。 到目前为止,我已经使用了openpyxl来迭代第一列来创build一个值列表。 我为字段3创build了一个值列表。我创build了一个重复的ID值列表。 最后,如果我有一个行号列表,我知道如何将行写入一个新的woorkbook。 我需要的是如何获得字段3中具有最高值的ID的行号列表。 谢谢!

在excel中过滤一列

我正在尝试通过过滤值来组织一个列。 换句话说,有成千上万的重复名称,我想从每个“组”中只取一个名称,并将其复制到另一个列中。 所以列A是当前的情况,列是我想要得到的结果: Column A Column B AB Mark Sociedad Ltda AB Mark Sociedad Ltda AB Mark Sociedad Ltda Acosta Acosta Manuel AB Mark Sociedad Ltda ALBAGLI, ZALIASNIK AB Mark Sociedad Ltda Acosta Acosta Manuel Acosta Acosta Manuel Acosta Acosta Manuel ALBAGLI, ZALIASNIK ALBAGLI, ZALIASNIK ALBAGLI, ZALIASNIK 最后这是我正在尝试使用的脚本: import openpyxl from openpyxl import load_workbook import […]

openpyxl读过滤数据的excel

使用openpyxl ,我正在阅读一个已经应用了一些filter的excel文件。 from openpyxl import load_workbook wb = load_workbook('C:\Users\dsivaji\Downloads\testcases.xlsx') ws = wb['TestCaseList'] print ws['B3'].value 我的目标是循环访问“B”列的内容。 有了这个,我将能够读取单元格'B3'的内容。 如果filter应用,在这种情况下,我不想从最初的单元格开始。 即在Excel中可见(在应用filter之后),那些我想要获取的。 在networkingsearch了一段时间后,发现ws.row_dimensions可以帮助visible属性,但仍然没有运气。 >>> ws.row_dimensions[1] <openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B48> >>> ws.row_dimensions[2] <openpyxl.worksheet.dimensions.RowDimension object at 0x03EF5B70> >>> ws.row_dimensions[3].visible Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'RowDimension' object has no attribute 'visible' 如何做到这一点?

在他们都在同一工作簿中的工作表之间创build超链接

下面的代码创build一个超链接,但每当我点击该超链接,它说,它“无法打开指定的文件”。 from openpyxl import load_workbook s1 = "C:/santosh_chikne/python/Excel/test1.xlsx" wb = load_workbook(s1) ws = wb.get_sheet_by_name("Index") a="A" b="B" rownums=4 col=2 sheetname=wb.get_sheet_names() for i in sheetname: link = str(s1)+"#"+str(i)+"A1" url2 = str(i) ws.cell(row=rownums, column=col).hyperlink=link rownums=rownums+1 wb.save(s1)

Python 没有这样的文件或目录

我试图遍历一个只包含xls文件的文件夹并逐个打开它们。 注意:所有的xsl文件都被列举为“001_text.xls”,…“030_text.xls”。 我的代码是: xls_path=r'C:\path\to\my\folder' for file in os.listdir(xls_path): book = xlrd.open_workbook(file) sheet = book.sheet_by_index(0) filt_xls = [ el for el in sheet.col_values(0)] print file.title() print filt_xls 问题是,我只得到第一个文件(001_text.xls)的输出,并连续出现错误: IOError: [Errno 2] No such file or directory: '002_Testo.xls' 有没有办法解决它?