Tag: python

从Python打开Excel应用程序

我使用'xlwt'作为Python项目的一部分写入Excel文件。 我也需要实际打开Excel电子表格进行显示,并closures它。 我find了一个函数: import webbrowser webbrowser.open('C:/Users/300231823/Desktop/GUI/simplenew4.xls') 这似乎打开.xls文件。 我如何closures文件? 我对编程完全陌生,3周前我开始使用Python。

Python xlwt – 只读列(单元格保护)

有没有办法让一个特定的单元格只读/写在python xlwt保护? 我知道有一个cell_overwrite_ok标志不允许覆盖单元格(所有单元格)的内容,但可以逐个单元地完成。 谢谢,孙

python package pyExcelerator / xlwt将特殊字符写入Excel表格

任务: 我通过使用python软件包pyExcelerator(与xlwt相当)从csv-files生成了excel表格。 我需要能够写出小于或等于(≤)和大于或等于(≥)的符号。 至今: 我可以将表格保存为带有UTF-8编码的csv文件,以便我可以在我的文本编辑器中查看特殊字符,方法是将以下行添加到我的python源代码中: #! /usr/bin/env python # -*- coding: UTF-8 -*- 问题: 但是,在pyExcelerator的Font类中,不能selectUTF-8作为字体。 唯一的select是: CHARSET_ANSI_LATIN = 0x00 CHARSET_SYS_DEFAULT = 0x01 CHARSET_SYMBOL = 0x02 CHARSET_APPLE_ROMAN = 0x4D CHARSET_ANSI_JAP_SHIFT_JIS = 0x80 CHARSET_ANSI_KOR_HANGUL = 0x81 CHARSET_ANSI_KOR_JOHAB = 0x82 CHARSET_ANSI_CHINESE_GBK = 0x86 CHARSET_ANSI_CHINESE_BIG5 = 0x88 CHARSET_ANSI_GREEK = 0xA1 CHARSET_ANSI_TURKISH = 0xA2 CHARSET_ANSI_VIETNAMESE = 0xA3 CHARSET_ANSI_HEBREW = 0xB1 […]

ExcelFile VS. 在pandas中的read_excel

我正在潜入大pandas并进行实验。 至于从Excel文件读取数据。 我想知道使用ExcelFile和read_excel有什么区别。 两者似乎都可以工作(虽然语法稍微不同,可以预料),并且文档支持两者。 在这两种情况下,文档描述的方法都是一样的:“将Excel表读入DataFrame”和“将Excel表读入pandas DataFrame”。 ( read_excel文档和excel_file文档 ) 我在这里看到了SO的答案,它使用了无论是处理差异还是W / O。 此外,谷歌search没有产生讨论这个问题的结果。 WRT我的testing,这些似乎相当: path = "test/dummydata.xlsx" xl = pd.ExcelFile(path) df = xl.parse("dummydata") # sheet name 和 path = "test/dummydata.xlsx" df = pd.io.excel.read_excel(path, sheetname=0) 除了后者为我省了一行外,这两者之间是否有区别,是否有理由使用其中之一? 谢谢!

用python创buildexcel兼容的CSV文件?

我正在尝试使用真正的Excel兼容的Python创build一个CSV文件(我使用Excel 2007,如果这有什么区别)。 这是我想要做的事情 import csv data = [ ['9-1', '9-2', '9-3'] ] fd = open('test.csv', 'wb') try: writer = csv.writer(fd, dialect='excel', quotechar='"', quoting=csv.QUOTE_ALL) writer.writerows(data) finally: fd.close() 这将创build一个csv文件,其中包含: "9-1","9-2","9-3" 当我在Excel中加载时,我得到的列: 09-Jan 09-Feb 09-Mar [Grrr,谢谢Excel。 严重的是,什么是引号?] 现在,我已经在其他地方读到了,为了让Excel将string视为字面值,它们必须以等号="Like This"作为前缀。 所以我真正想要产生的是: ="9-1",="9-2",="9-3" 有没有办法做到这一点与python的csv模块? 我猜这将涉及到创build一个自定义的方言 ,但我看不到任何变数,会给我想要的结果。

可以改变xlsxwriter的工作表顺序?

我有一个脚本,按顺序创build了以下几对工作表: WorkSheet (holds data) -> ChartSheet using WorkSheet 脚本完成后,我剩下的工作表sorting如下: Data1, Chart1, Data2, Chart2, Data3, Chart3, … 是否有可能在脚本的末尾(即workbook.close()之前workbook.close()重新sorting工作表以获取最终的.xlsx文件中的以下工作表顺序? Chart1, Chart2, Chart3,…,ChartN, Data1, Data2, Data3,…

如何写入一个现有的Excel文件而不破坏公式与openpyxl?

当你用以下方式写入Python的excel文件时: import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx') writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save() 公式和指向现有工作表中图表的链接将被保存为值。 如何覆盖这种行为,以保存公式和图表的链接?

Python将Excel转换为CSV

似乎有很多关于这个问题的post,我的解决scheme是与最常见的答案似乎是一致的,但是我遇到了一个编码错误,我不知道如何解决。 >>> def Excel2CSV(ExcelFile, SheetName, CSVFile): import xlrd import csv workbook = xlrd.open_workbook(ExcelFile) worksheet = workbook.sheet_by_name(SheetName) csvfile = open(CSVFile, 'wb') wr = csv.writer(csvfile, quoting=csv.QUOTE_ALL) for rownum in xrange(worksheet.nrows): wr.writerow(worksheet.row_values(rownum)) csvfile.close() >>> Excel2CSV(r"C:\Temp\Store List.xls", "Open_Locations", r"C:\Temp\StoreList.csv") Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> Excel2CSV(r"C:\Temp\Store List.xls", "Open_Locations", r"C:\Temp\StoreList.csv") File "<pyshell#1>", line 10, in […]

用不同的格式将pandasDataFrame写入Excel

我正在尝试将一个pandasDataFrame写入一个.xlsx文件,其中不同的数字列将具有不同的格式。 例如,一些只显示两位小数,一些显示没有,一些会被格式化为带有“%”符号的百分数等。 我注意到, DataFrame.to_html()有一个formatters参数,可以做到这一点,将不同的格式映射到不同的列。 但是, DataFrame.to_excel()方法没有类似的参数。 我们所拥有的最多的是一个对所有数字都是全局的float_format 。 我已经阅读了许多与我的问题至less部分相关的SOpost,例如: 使用较旧的openpyxl引擎一次应用一个单元格的格式 。 这是我取得最大成功的方法。 但是,这意味着编写循环来应用格式逐个单元格,记住偏移量等。 通过将表数据本身更改为string来渲染百分比 。 改变实际数据的路线激发了我在写入Excel之前,通过在每一列上调用round()来处理小数位格式化 – 这也起作用,但是我想避免改变数据。 什么其他人,主要是关于date格式 在pandasAPI中有没有其他更方便的Excel相关函数/属性可以在这里帮助,或者在openpyxl类似的东西,或者有些方法可以将输出格式元数据直接指定到DataFrame中的每个列上,然后在不同的下游进行解释输出器?

使用pywin32,Dispatch和DispatchEx有什么不同?

当用pywin32打开一个电子表格时,我发现有两个select: excel1 = win32com.client.DispatchEx('Excel.Application') wb = excel1.Workbooks.Open('myxls.xls') 或者我可以做 excel2 = win32com.client.Dispatch('Excel.Application') wb = excel2.Workbooks.Open('myxls.xls') 我想知道这是否有所作为。 文档也不帮助我: >>> w32.Dispatch.__doc__ 'Creates a Dispatch based COM object.\n ' >>> w32.DispatchEx.__doc__ 'Creates a Dispatch based COM object on a specific machine.\n ' 在这个网站他们build议DispatchEx可能是远程访问。 当我只是试图在我自己的电脑上自动化电子表格时,使用哪种方法会有什么不同?