Tag: python 2.7

你可以使用pandas / python连接基于第2行的.xlsx文件的文件夹吗?

我无法使用pandas连接一个非常大的.xlsx文件文件夹。 问题是我们有一些文字写在每个文档的第一行,无法删除。 我的文件夹的path设置和连接工作。 问题出在第一个文件之后,当连接其余文件时,它将删除前两列中的ID#。 所以不仅数据不匹配每列,但我也失去了我的唯一标识符。 我最好的猜测是这是由于每个文档中的第一行文本。 这是我迄今为止。 files = [f for f in os.listdir(path) if f.endswith('.xlsx')] iep_boy_df = pd.concat([pd.read_excel(os.path.join(path, f), sheetname='Academic Outlier List', encoding='utf-8') for f in files], keys=files, names=['File Name', 'Row']).reset_index() 我已经看到了一些使用Pythonparsing文件的方法,但是你可以parsing50个以上的excel文档来跳过第1行,然后将它们传递到pandas中以转换成DF? 总而言之,我想第1行被排除在串联之外。 这里仍然是一个Python的中间,所以任何帮助将不胜感激!

path存在代码Excel Python

我正在处理目录代码,如果文件存在于指定的path中,它将在Excel中运行一个macros。 对于我来说,我想这样做,如果path不在那里,文件将被master copy from the I drive的master copy from the I drive保存到F驱动master copy from the I drive ,然后运行代码。 我怎样才能做到这一点? import os import os.path PATH='F:\Ten Year Load Forecasts 2017-2026.xlsm' Master_Copy='I:\Ten Year Load Forecasts 2017-2026.xlsm' if os.path.isfile(PATH) and os.access(PATH, os.R_OK): print "File exists and is readable" xlApp = win32com.client.DispatchEx('Excel.Application') # Running Excel xlsPath = os.path.expanduser('F:\Ten Year Load […]

如何保存我在Excel工作表上所做的更改?

我以这种方式阅读Excel工作表: import pandas as pd xl = pd.ExcelFile("Path\file_name.xlsx") xl.parse("Sheet_name") 现在我做了一些改变,例如我填充所有空string“NA” df = df.fillna("NA") 现在我想写回原来的Excel文件的变化…

数据不在Excel表中

我正在阅读一个现有的Excel文件,使用openpyxl包,并试图保存该文件,它得到了保存,但打开后,Excel文件没有数据存在。 我使用了下面的代码,我的要求是仅在use_iterators = True模式下打开文件 from openpyxl import load_workbook wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True) ws = wb.get_sheet_by_name(name = 'big_data') for row in ws.iter_rows(): for cell in row: print cell.internal_value wb.save("large_file.xlsx") 你可以演示如何保存文件并在保存之后closures文件,而不会丢失数据

Range类的AutoFilter方法失败(Dispatch vs EnsureDispatch)

此代码失败,错误:“范围类的自动过滤方法失败” from win32com.client.gencache import EnsureDispatch excel = EnsureDispatch('Excel.Application') excel.Visible = 1 workbook = excel.Workbooks.Add() sheet = workbook.ActiveSheet sheet.Cells(1, 1).Value = 'Hello world' sheet.Columns.AutoFilter() 该代码也失败,虽然它曾经工作: from win32com.client import Dispatch excel = Dispatch('Excel.Application') excel.Visible = 1 workbook = excel.Workbooks.Add() sheet = excel.ActiveSheet sheet.Cells(1, 1).Value = 'Hello world' sheet.Columns.AutoFilter()

xlsxwriter&xlrd问题 – 在一台机器上保存为ZIP格式的xlsx文件,但其他前四个字节在另一台机器上

我正在使用xlsxwriter和.xlsx文件,因为我打算写大量的数据,这是不受.xls支持的,这是我在做的第一件事: output_name = "MY_XLSX_LOG_FILE" + str(datetime.now().strftime('%Y-%m-%d %H.%M.%S')) + '.xlsx' xlsx_document = xlsxwriter.Workbook(output_name) xlsx_document_sheet = xlsx_document.add_worksheet('sheet_1') xlsx_document_sheet.write(0, 0, 'Col1') xlsx_document_sheet.write(0, 1, 'Col2') xlsx_document_sheet.write(0, 2, 'Col3') xlsx_document_sheet.write(0, 3, 'Col4') xlsx_document_sheet.write(0, 4, 'Col5') xlsx_document_sheet.write(0, 5, 'Col6') xlsx_document_sheet.write(0, 6, 'Col7') xlsx_document_sheet.write(0, 7, 'Col8') xlsx_document_sheet.write(0, 8, 'Col9') xlsx_document.close() 然后我打开它像这样: file_name = FindLastLog() #this finds it successfuly xlsx_document = xlrd.open_workbook(file_name) 对我来说,它完美的工作,但是当我把它交给别人,他在他的机器上运行(相同的操作系统,相同的语言环境),他得到这个: […]

xlsxwriter – 通过set_row()分组

我试图在xlsxwriter中设置一些组,但似乎我无法在我的组顶部获得+符号。 因为它是按行设置分组我尝试编写一个函数,该工作簿,工作表索引和一个开始/结束以及级别。 但是无论我做什么,excel中的分组符号都不会出现在第一行。 有趣的是,如果我使用像start_row + 5这样的折叠行,我会在右边获得第二个+ ,而在最后一个获得第二个+ 。 有谁知道它是否可能? 这些例子显示了分组只是最后一行。 def set_group(out_wb, ws_index, start_row, end_row, level): #added as i used an offset start_row = start_row end_row = end_row out_wb.worksheets()[ws_index].set_row(start_row, None, None, {'level': level, 'collapsed': True}) for i in range(start_row + 1, end_row): out_wb.worksheets()[ws_index].set_row(i, None, None, {'level': level, 'hidden': True}) return out_wb

使用Python调整Excel文档中的列

我目前正在用Python创build一个Excel文档。 我创build了Excel文档,但是我不确定代码中有什么问题,而不是正确调整列的大小。 有没有人有任何想法? def writerow(self, vals): ws = self.workbook.active this_row = self.numrows this_col = 1 for v in vals: cell = ws.cell(row = this_row, column = this_col) cell.value = v if ws.column_dimensions[get_column_letter(this_col)] < len(str(v)): ws.column_dimensions[get_column_letter(this_col)] = len(str(v)) this_col += 1 self.numrows += 1 self.worksheet = ws

Python脚本错误地删除了.xlsx文件中创build的图表

我试图用Python编写一个脚本,它从存储在文件夹层次结构中的所有.csv文件中获取一些特定的值。 这些值被复制到已创build的目标文件(.xlsx)中的某些特定单元格中。 目标文件还有一些现有的空白图表(在单独的工作表中),这些图表将用脚本提供的值填充。 不幸的是,在我运行这个脚本之后,尽pipe它能正常工作,并且我已经在单元格中复制了所需的值,出于某种原因,图表消失了。 我还没有设法理解为什么,给我的事实,我没有任何暗示在我的脚本中操纵图表的工作。 看到我找不到解决这个问题的办法,我得出的结论是,我应该使用我所拥有的价值观来实现我脚本中的图表。 不过,我想知道你是否知道为什么会发生这种情况。 以下是我的代码。 我不得不提到我是Python新手。 任何关于这个问题或关于更好的代码写作的build议将不胜感激。 # -*- coding: utf-8 -*- import os import glob import csv import openpyxl from openpyxl import load_workbook #getting the paths def get_filepaths(directory): file_paths = [] # array that will contain the path for each file # going through the folder hierarchy for root, directories, files […]

pandas.read_excel,第一行值

我正在尝试使用pandas.read_excel从Excel文件中获取第一行。 我的问题是pandas使用第一行值作为数据框的标签。 有没有办法让他们 – 比如说 – 在列表中? 我试图看看是否有一个选项pandas.read_excel为了不加载第一行作为标签,但我还没有find任何东西( http://pandas.pydata.org/pandas-docs/stable/generated /pandas.read_excel.html )。 我知道我可以使用其他库(即xlrd,openpyxl,..)获得相同的结果。 但是,如果可能的话,我想使用pandas.read_excel,以便按照我已经用于同一python文件中的其他工作表的方法,并更好地了解库。