我正在使用python为大学的组织创建一个简单的实用程序。 python脚本将在excel文档中搜索名称,然后使用该名称的行值将返回有关其搜索的成员的信息。
我正在使用openpyxl
来执行此操作。我已阅读文档并了解读取单元格和工作表等,包括来自一系列单元格,行或列。
我不确定如何使用它在第一列中搜索名称。
我正在考虑使用:
name = raw_input('insert name > ')
然后遍历第一列中的单元格以搜索name
,然后使用字符串操作来获取该单元格的行值。
然而,查看我无法找到的文档实际上找到了搜索单元格内容的方法。
对我来说,有什么可以解决这个问题吗?
答案 0 :(得分:2)
您可以将xslx或csv上传到python,然后进行搜索和操作,然后将数据以csv或xslx的形式保存回现有文件或新文件。这是单词频率分析的示例。
#Note DO not Read/Write to the same files over and over make new ones`
from collections import Counter
import xlrd
import xlwt
book = xlrd.open_workbook('/Users/galon/Desktop/cleanmqlresulty5.xlsx')
sheet = book.sheet_by_name('cleanmqlresulty5')
csv = sheet.col_values(0)
#print((len(csv)))
csvlist = []
for i in range(len(csv)):
csvlist = csvlist + (csv[i].split())
#print(csvlist)
counts = Counter(csvlist)
key = []
value = []
for k,v in counts.items():
key.append(k)
value.append(v)
import csv
csvfile = "/Users/galon/Desktop/001.csv"
#Assuming output is a flat list
with open(csvfile, "w") as output:
writer = csv.writer(output, lineterminator='\n')
for val in key:
writer.writerow([val])
import csv
csvfile = "/Users/galon/Desktop/002.csv"
#Assuming output is a flat list
with open(csvfile, "w") as output:
writer = csv.writer(output, lineterminator='\n')
for val in value:
writer.writerow([val])
答案 1 :(得分:0)
文档中没有任何内容,因为库中没有这样的功能。每个单元存储数据,因此循环遍历所有单元(按行)是解决问题的唯一方法。