![](/img/trans.png)
[英]How to extract invisible comments from specific columns in excel using python
[英]Extract columns from Excel using Python
我有一个带有ff:row / col结构的Excel文件
ID English Spanish French
1 Hello Hilo Halu
2 Hi Hye Ghi
3 Bus Buzz Bas
我想阅读Excel文件,提取行和列值,并根据英语,西班牙语和法语列创建3个新文件。
所以我会有类似的东西:
英文文件:
"1" = "Hello"
"2" = "Hi"
"3" = "Bus"
我一直在使用xlrd。 我可以打开,阅读和打印文件的内容。 但是,这是我使用此命令(Excel文件已打开):
for index in xrange(0,2):
theWord = '\n' + str(sh.col_values(index, start_rowx=index, end_rowx=1)) + '=' + str(sh.col_values(index+1, start_rowx=index, end_rowx = 1))
print theWord
OUTPUT:
[u'Parameter/Variable/Key/String']=[u'ENGLISH'] <-- is this a list?, didn't the str() use to strip it out?
什么是ü做什么呢? 如何删除方括号?
u
意思是它是一个unicode字符串,当你调用str()
时它被放在那里。 如果你将字符串写入文件,它就不会存在。 你得到的是列中的一行。 这是因为你使用的是end_rowx=1
它返回一个包含一个元素的列表。
尝试获取列值列表:
ids = sh.col_values(0, start_rowx=1)
english = sh.col_values(1, start_rowx=1)
spanish = sh.col_values(2, start_rowx=1)
french = sh.col_values(3, start_rowx=1)
然后你可以将它们zip
成元组列表:
english_with_IDS = zip(ids, english)
spanish_with_IDS = zip(ids, spanish)
french_with_IDS = zip(ids, french)
其形式如下:
("1", "Hello"),("2", "Hi"), ("3", "Bus")
如果要打印对:
for id, word in english_with_IDS:
print id + "=" + word
col_values
返回列值列表,如果您想要单个值,可以调用sh.cell_value(rowx, cellx)
。
import xlrd
sh = xlrd.open_workbook('input.xls').sheet_by_index(0)
english = open("english.txt", 'w')
spanish = open("spanish.txt", 'w')
french = open("french.txt", 'w')
try:
for rownum in range(sh.nrows):
english.write(str(rownum)+ " = " +str(sh.cell(rownum, 0).value)+"\n")
spanish.write(str(rownum)+ " = " +str(sh.cell(rownum, 1).value)+"\n")
french.write(str(rownum)+ " = " +str(sh.cell(rownum, 2).value)+"\n")
finally:
english.close()
spanish.close()
french.close()
使用熊猫 :
In [1]: import pandas as pd
In [2]: df = pd.ExcelFile('test.xls').parse('Sheet1', index_col=0) # reads file
In [3]: df.index = df.index.map(int)
In [4]: for col in df.columns:
...: column = df[col]
...: column.to_csv(column.name, sep='=') # writes each column to a file
...: # with filename == column name
In [5]: !cat English # English file content
1=Hello
2=Hi
3=Bus
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.