我必须创建属于某个机构的人的邮件列表。该信息仅在.xlsx文件中可用。 xlsx的列如下:机构,DOB,程序,...,EmailID。我该怎么做,而不是自己阅读每个条目,然后将电子邮件输入到Google联系人中?如何从Python中的xlsx文件获取信息?
我知道我问了很多,特别是因为我不知道如何操作Google工作表;就像我不确定在Google表单中是否有这样的方法。我需要的只是一些方向。
我必须创建属于某个机构的人的邮件列表。该信息仅在.xlsx文件中可用。 xlsx的列如下:机构,DOB,程序,...,EmailID。我该怎么做,而不是自己阅读每个条目,然后将电子邮件输入到Google联系人中?如何从Python中的xlsx文件获取信息?
我知道我问了很多,特别是因为我不知道如何操作Google工作表;就像我不确定在Google表单中是否有这样的方法。我需要的只是一些方向。
您可以使用openpyxl读取/写入.xlsx文件。这里是链接到documentation。
您可以从的.xlsx如下解读:
from openpyxl import load_workbook
wb2 = load_workbook('email_contacts.xlsx')
print wb2.get_sheet_names()
的细节加入到谷歌通讯录中,您可以使用谷歌联系人API。只需阅读关于如何使用API的官方文档。
编辑:在另一个答案中提到的openpyxl
似乎更好。
最简单的方法是将文件保存为XLS格式(97-2003格式),然后使用XLRD模块解析文件。要在此格式需要的文件护理没有准备好,你可以在Excel中打开该文件,然后保存到正确的格式:
xlsx_files = glob.glob('*.xlsx')
if len(xlsx_files) != 0:
xlApp = win32com.client.Dispatch('Excel.Application')
xlApp.DisplayAlerts = False
for file in xlsx_files:
xlWb = xlApp.Workbooks.Open(os.path.join(os.getcwd(), file))
xlWb.SaveAs(os.path.join(os.getcwd(), file.split('.xlsx')[0] +
'.xls'), FileFormat=1)
xlWb.Close()
for file in xlsx_files:
os.unlink(file)
为了然后用xlrd访问表:
wb = xlrd.open_workbook(file)
#First sheet:
sh = wb.sheet_by_name(wb.sheet_names()[0])
#Select a column, columns start at 0:
pl_id_column = sh.col_values(0)
#Iterate through the rows:
for rownum in range(12,sh.nrows):
print pl_id_column[rownum]
这是最容易运行excel并将'xlsx'文件保存为'csv'文件。然后,如果这是您想要的唯一列,那么它就是ASCII码,并且很容易打印出一列'EmailID'。
要将详细信息添加到Google通讯录中,您可以使用Google通讯录API。只需阅读关于如何使用API的官方文档。
如果你不打算至少给出一个python处理csv文件的小概述,请将其作为评论发布,而不是作为答案。 – l4mpi 2015-02-10 11:03:56