Tag: python

提取的数据不存储在scrapy项目中

我正在使用scrapy和selen在python中构build一个屏幕刮板的项目,然后使用xlsxwriter将其输出到一个excel文件中。 但是,似乎我的scrapy项目总是空着。 我不确定在这一点发生了什么,所以任何帮助表示赞赏。 只是要注意,在这里张贴之前,有几个url,目录和其他一些敏感信息。 所以一些链接和目录可能看起来很奇怪。 excel输出的屏幕截图: 屏幕刮板文件输出 蜘蛛: import os import time from datetime import date from ScreenScraper.items import * from scrapy import * from scrapy.http import FormRequest from scrapy.loader import ItemLoader from scrapy.selector import Selector from selenium import webdriver from selenium.webdriver.common.keys import Keys from xlsxwriter import * class CquentiaSpider(Spider): name = 'cquentia' allowed_domains = […]

OpenPyxl – 当单元格引用其他源时,获取单元格的难度

我有一个电子表格从外部电子表格引用/caching值。 在Excel中查看使用OpenPyxl的单元格时,我将其内容看作string: Users 。 当我在Excel中select单元格时,我看到公式栏中的实际内容是='C:\spreadsheets\[_comments.xlsm]Rules-Source'!C5 。 我没有在我的机器上存储源电子表格。 所以,Excel显示caching来自单独的电子表格的值,因为我可以在Excel中查看本地电子表格时查看值Users 。 当我使用OpenPyxl从本地电子表格读取单元格时,得到='[1]Rules-Source'!C5 。 这是我的理解,OpenPyxl将不会评估公式。 但是,stringUsers必须caching在XLSM文档的某个地方,对吧? 有什么办法可以让OpenPyxl读取caching的源代码而不是返回单元格公式?

显示“=”而不是公式的openpyxl

我正在使用openpyxl阅读一个Excel电子表格,有很多公式。 对于某些单元格,如果我访问单元格的值,例如sheet['M30'].value我得到如下的公式: '=IFERROR(VLOOKUP(A29, other_wksheet, 9, FALSE)*E29, "")' 。 但奇怪的是,如果我试图访问另一个单元格的值,例如sheet['M31'].value我得到的就是= ,即使在Excel中该单元格与M30基本相同: '=IFERROR(VLOOKUP(A30, other_wksheet, 9, FALSE)*E29, "")' 。 这是发生在其他一堆其他公式的一堆其他工作表,我似乎无法find任何押韵或原因。 我查看了文档,我没有加载data_only=True所以我不知道发生了什么问题。

Django导入导出excel中数值的前导零

我面临以下问题:当我使用django-import-export在python中生成.csv文件时,即使字段是string,当我在Excel中打开它时,前导零也被省略。 例如000123> 123。 这是一个问题,因为如果我想显示一个邮政编码,我需要零的方式。 我可以把它用引号括起来,但是这样做是不可取的,因为它会抓住不必要的注意力,而且看起来很糟糕。 我也意识到,你可以通过改变数据types手动在Excel文件中做到这一点,但我不想向正在使用我的软件的人解释。 有什么build议么? 提前致谢。

Xlsxwriter格式化pandasDataFrame输出到Excel的麻烦

我创build了一个pandaspivot_table并将其导出为xlsxwriter。 但是,格式化并没有达到我所说的要求。 我已经看了xlsxwriter文档和其他问题在这里堆栈溢出,我还没有find一个解决scheme。 我有一种感觉,我忽略了一些明显的东西。 # Write to Excel path = 'some/path' writer = pd.ExcelWriter(path, engine='xlsxwriter') df.to_excel(writer, sheet_name='df') 具有set_column()的列宽度正在工作。 所以我有这样的事情,这很好。 但是, 'bold': False和'align': 'left' wb.add_format()子句中的'align': 'left'不是。 # Make it look nice wb = writer.book ws = writer.sheets['df'] format = wb.add_format({'bold': False, 'align': 'left'}) ws.set_column('A:C', None, format) ws.set_column(0,0, 10.2) ws.set_column(1,1, 25.2) ws.set_column(2,2, 15.2) writer.save() 或者,以下操作适用于格式,但会删除单元格B3的内容: ws.write('B3', None, […]

如何处理xlsx文件读取错误(“断言tvalue不是无”)使用xlrd包?

Python代码下面是读取xls&xlsx文件。 我在阅读一个xlsx文件时遇到问题。 错误是“assert tvalue is not None” –> workbook=xlrd.open_workbook("/home/perlzuser/sprint12/template.xlsx") sheet=workbook.sheet_by_index(0) data=[[sheet.cell_value(r,c) for c in range(sheet.ncols)]for r in range (sheet.nrows)] print " ::",data 我的错误::: /home/perlzuser/Enthought/Canopy_32bit/User/lib/python2.7/site-packages/xlrd/xlsx.pyc in do_row(self,row_elem)723 else:724 bad_child_tag(child_tag) – > 725 assert tvalue is not None 726 self.sheet.put_cell(rowx,colx,XL_CELL_TEXT,tvalue,xf_index)727 else: Asse田: 如何在python中解决这个问题?

用NaT从dataframe中提取pandas多指数

我正在使用pandas来parsingExcel电子表格。 电子表格有几个工作表,每个工作表看起来像下面。 请注意,每列都具有对应于不同date的值,并且具有不同的长度: 无论什么原因,当大pandas分析Excel电子表格时,第一个工作表将第一列dateparsing为索引(即使index_col参数已指定为None)。 这仍然可以pipe理。 但是,在其他工作表中,它将索引parsing为多索引: 我想要做的是最终重build数据框,以便它们都共享一个通用的date索引,并且任何没有值的date都被NaN填充。 但是,我似乎无法从multiindex中提取date,甚至开始这个过程。 我试图执行两个级别0和1的dataframe上的reset_index() ,但它抱怨IndexError: cannot do a non-empty take from an empty axes. 我也尝试了unstack() ,但是这个抱怨ValueError: Index contains duplicate entries, cannot reshape 。

Python Openpyxl挑选单元格以开始打印numpy数组

所以我刚开始使用openpyxl,我试图打印我的numpy数组到特定的单元格。 我能够从第一个单元格开始打印数组(见下面的代码),但不知道如何select一个单元格来开始打印。 在我的例子中,我将列表转换为一个numpy数组,因为我的工作软件输出一个numpy数组。 exlist = numpy.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]) wb = Workbook() dest_filename = 'scrappaper3.xlsx' ws1 = wb.active ws1.title = 'scrap3' for x in xrange(exlist.shape[1]): ws1.append(exlist[:,x].tolist()) wb.save(filename=dest_filename) 输出从单元格A1开始,但要指定要输出的第一个单元格 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 我尝试使用类似于下面的代码从openpyxl的例子,但我不知道如何configuration它,因为我得到一个错误,说它不能转换为Excel。 ws1.cell(column=col, row=row).value = exlist

将.csv文件附加到现有的Excel工作簿模板

我试图采取不同数量的csv文件,并将其作为每个csv文件的新工作表复制到现有的Excel工作簿中。 问题是我将它们复制到一个已经有两张纸的模板中。 用我当前的代码,这些模板表被覆盖。 我已经看到类似问题的许多问题,并没有find一个将csv文件添加到现有的工作簿,而不会覆盖当前工作表。 这是我一直在使用的: import os import glob import csv from xlsxwriter.workbook import Workbook workbook = Workbook('Summary_Template.xlsx') for csvfile in glob.glob(os.path.join('.', '*.csv')): csvfile = os.path.basename(csvfile) worksheet = Workbook.add_worksheet(workbook) #wroskeet with csv file name with open(csvfile, 'rb') as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): worksheet.write(r, c, col) […]

将单词文档parsing成excel文件,每行单个单词

我正在处理大量的word文件,在这里我想创build一个excel文件,其中每个word文件是一列,每个文档中的每个单词都是一行。 我是python新手; 我将如何做到这一点? 我有这个代码分开的话: import string remove = dict.fromkeys(map(ord, '\n ' + string.punctuation)) with open('data10.txt', 'r') as f: for line in f: for word in line.split(): w = f.read().translate(remove) print(word.lower()) 我只需要知道如何让每个单词在excel中排成一行。