我必須創建屬於某個機構的人的郵件列表。該信息僅在.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