Tag: python

python制表符分隔的文件,以Excel

python新手,你能指出我在正确的方向。 我有一个文本文件是制表符分隔如下所示: Hello world ! 我需要的是将其转换为excel,如下所示: Hello Hello world Hello world ! 很明显,我正在处理的文件比这个大得多。 我需要这样做,以便我可以创build一个目录结构: 你好—>扩展到世界—>扩展到! 我一直在研究pandas,CSV模块等,但是对这些模块或者他们的文档以及我是新手这一事实不够了解。 有没有人设法做到这一点之前,我浪费更多的时间来解决这个问题。 任何你可以提供的代码将不胜感激,如果不是简单的,这是可以实现的。 目前拉我的头发从哪里开始。 已经简单地循环遍历文件,逐行遍历并显示在IDE窗口中,但是很难以让它以所需的格式出色。

Python – 迭代自交叉引用

我有一个合理的挑战。 我有一个Excel表中包含标识符列和交叉引用列的单个表。 对于指示多个交叉引用的单个标识符可以有多行。 (请参阅下面的基本示例) 以字母“X”结尾的任何logging都表示它是交叉引用,而不是实际的标识符。 我需要为每个标识符生成交叉引用的列表,但是将其追踪到实际的交叉引用标识符。 所以用上面的“A1”作为例子,我需要返回如下列表“A2,A3,B1,B3”。 注意,列表中没有以“X”结尾的标识符,它们已经通过表格追溯到实际的源logging。 任何想法或帮助将不胜感激。 我正在使用python和xlrd来读取表。

用win32com python打开多个excel文件

有没有办法使用os.walk或glob来同样简化? from win32com.client import Dispatch inputwb1 = "D:/apera/Workspace/Sounding/sounding001.xlsx" inputwb2 = "D:/apera/Workspace/Sounding/sounding002.xlsx" Sheet = 'OUTPUT' excel = Dispatch("Excel.Application") source = excel.Workbooks.Open(inputwb1) source.Worksheets(Sheet).Range('F1:H500').Copy() source.Worksheets(Sheet).Range('I1:K500').PasteSpecial(Paste=-4163) source = excel.Workbooks.Open(inputwb2) source.Worksheets(Sheet).Range('F1:H500').Copy() source.Worksheets(Sheet).Range('I1:K500').PasteSpecial(Paste=-4163) 因为如果我想写几百个这个东西,这个东西会占用太多的空间。 感谢您的帮助提前

在Excel中插入空白列,并使用基于其他列数据的值

我有一个电子表格,包含计算机的FQDN列。 然而,过滤这是很困难的,因为这个独特的名字,我最终在FQDN列旁边添加一个新列,然后input一个基于这个名字的不太唯一的值。 一个例子是: dc01spmkt.domain.com新列值=“营销” 所有的主机都会有一个3个字母的名称,这样人们可以用更通用的标题过滤新的列。 我的问题是:有没有一种方法可以编写脚本,以便在原始表单到达时,我可以运行该脚本,它将在旧列中查找值以填充新的值。 因此,如果它在主机名字段中find“mkt”,则会写入MARKETING,或者如果发现“sls”,则会写入SALES?

Excel Python:在安装xlwt和xlutil包期间出现错误

我在Windows上使用Python 3.4 。 我安装了xlrt软件包。 它工作正常。 但是,在尝试xlwt和xlutils时,我正在获得以下打印。 请帮我解决这个问题。 安装xlwt时 ,遇到以下错误, D:\Software\Python34\Scripts>pip.exe install xlwt Downloading/unpacking xlwt Running setup.py (path:C:\DOCUME~1\Lenovo\LOCALS~1\Temp\pip_build_Lenovo\xlwt\ setup.py) egg_info for package xlwt Traceback (most recent call last): File "<string>", line 17, in <module> File "C:\DOCUME~1\Lenovo\LOCALS~1\Temp\pip_build_Lenovo\xlwt\setup.py", line 4, in <module> from xlwt import __VERSION__ File "C:\DOCUME~1\Lenovo\LOCALS~1\Temp\pip_build_Lenovo\xlwt\xlwt\__init__.py", line 3, in <module> from Workbook import Workbook ImportError: No […]

使用Python使用Range函数创build数组并写入excel列

我想创build一个数据容器,在我的python脚本(基于计算),然后写在excel使用win32com客户端和range()函数的列中。 我可以成功做到这一行,但不能做一列。 我基本上想要做的硬编码代码如下所示: import win32com.client as win32 from win32com.client import Dispatch Excel=Dispatch('Excel.Application') wb = Excel.ActiveWorkbook ws = wb.ActiveSheet data_container = [5],[6],[7],[8],[9] ws.Range(ws.Cells(11,9),ws.Cells(15,9)).Value = (data_container) 对我来说,棘手的部分是创build一个data_container,我可以在飞行中创build。 我知道关于元组,数据字典和列表的stackoverflow上有很多,但我不能解决它,并感到困惑(如果我看到警告“元组是不可变的”一次!!!!!!)。 每当我创build如下所示的东西时,它只是输出所有单元格中的第一个项目(即在所有单元格的下面填充5)。 data_container = [] data_container.append(5) data_container.append(6) data_container.append(7) data_container.append(8) data_container.append(9) ws.Range(ws.Cells(11,9),ws.Cells(15,9)).Value = (data_container) 我可以循环并写入每个单元格,但是由于时间限制,不想这样做。 我知道有可能使用其他python插件,但我希望这可以在许多计算机上使用,不一定有所有这些插件,可以防止人们使用我的脚本………我喜欢简单使用win32com设置,并有大多数项目工作除了这一点。 理想情况下,我想有一个字典/列表/matrix/数组中存储的列数……并能够写入一个范围引用数据容器的某个部分。 例如: ws.Range(ws.Cells(11,9),ws.Cells(15,9)).Value = (data_container[0]) data_container [0]包含[5],[6],[7],[8],[9] …… 我想要做的最终目的是将多个列(不一定按顺序)读入数据容器,进行修改,然后写回多个列(不一定按顺序)。 我非常感谢所有的构build块,目前可能是堆栈溢出,我只是无法把它们拉到一起,我试图把这一切都解决了。 任何帮助表示赞赏。

不能写我的标题从Excel中的另一个Excel中的Python

我不明白为什么我的代码没有运行,我不知道python的大事情,但这似乎很基本,我正在考虑firstRow是一个数组,我是对的吗? 此外,我实现了我的新的Excel文件,而first是不是空的(如果我清楚地知道如何检查是否是空的),谢谢 import xlsxwriter import xlrd #ouvre l'excel workbook = xlrd.open_workbook('myExcel.xlsx', on_demand = True) #utilise le 2nd spreadsheet worksheet = workbook.sheet_by_index(1) #recupere la premiere ligne (headers) // a priori un array firstRow = worksheet.row_values(0) # Create an new Excel file and add a worksheet. workbook2 = xlsxwriter.Workbook('demo2.xlsx') worksheet2 = workbook2.add_worksheet() number = 0 #pour chaque […]

从Excel表使用Python提取公式

有没有办法使用python从excel表中提取公式? 经过长时间的研究,我才开始思考, 我从2013年和2010年看到了答案,指出还没有。 谢谢 !

Python来结合Excel电子表格

大家好…使用pandas结合Excel电子表格的问题。 问题是,列的顺序在组合时会丢失。 如果有更多的文件需要组合,格式会更糟糕。 如果给出错误信息,如果文件数量很大。 ValueError: column index (256) not an int in range(256) 我正在使用的是: import pandas as pd df = pd.DataFrame() for f in ['c:\\1635.xls', 'c:\\1644.xls']: data = pd.read_excel(f, 'Sheet1') data.index = [os.path.basename(f)] * len(data) df = df.append(data) df.to_excel('c:\\CB.xls') 原始文件和结合如下所示: 结合大量这样的类似Excel文件的最佳方式是什么? 谢谢。

TSV通过Excel在Python中添加隐藏的换行符来处理? 一个基本的Python .format()问题变得非常糟糕

所以我有一个TSV文件,其中包含公园的位置,我试图将其添加到基地GoogleMaps API地址,最终编写一个GeoJSON文件。 这里是什么问题是..我不能得到格式化,以便我的地址基础连接到基地GoogleMaps APIurl。 基本的代码是这样的: def geocode(address): url = ("http://maps.googleapis.com/maps/api/geocode/json?" "sensor=false&address={0}".format(address.replace(" ", "+"))) print url with open("MovieParksFixed.tsv", "rU") as f: reader = csv.DictReader(f, delimiter = "\t") for line in reader: response = geocode(line['Location']) 但运行这个输出: http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= Edgebrook+Park,+Chicago+ http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= Gage+Park,+Chicago+ 等等,第一行不会连接到第二行。 所以我最终得到的结果是http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address= ,然后是Edgebrook+Park,+Chicago+ ,但是没有关联。 我发誓就像是有一个隐藏的换行符,或者是搞砸了… 我不得不在Excel上手动编辑已parsing的TSV文件的两个单元格中的一个(但现在看起来还不错 – https://github.com/yongcho822/Movies-in-the-park/blob/master/MovieParksFixed。 tsv )…是否把这些东西搞砸了? 注意:原始TSV文件写入时明显由制表符分隔…