Получить входные данные из Excel и использовать эти входные данные в сценарии Python - PullRequest
1 голос
/ 22 сентября 2009

Как получить входные данные из Excel и использовать эти входные данные в Python.

Ответы [ 4 ]

6 голосов
/ 22 сентября 2009

Взгляните на xlrd

Это лучший справочник, который я нашел, чтобы узнать, как его использовать: http://www.dev -explorer.com / Articles / Excel-Spreadsheets-and-Python

2 голосов
/ 22 сентября 2009

Не уверен, что это именно то, о чем вы говорите, но:

Если у вас есть очень простой файл Excel (то есть, в основном, одна таблица, заполненная строковыми значениями, ничего особенного), и все, что вы хотите сделать, - это базовая обработка, тогда я бы предложил просто преобразовать его в CSV (файл значений, разделенных запятыми). Это можно сделать, "сохранив как ..." в Excel и выбрав CSV.

Это просто файл с теми же данными, что и в Excel, за исключением того, что он представлен строками, разделенными запятыми: ячейка A: 1, ячейка A: 2, ячейка A: 3 ячейка B: 1, ячейка B: 2, ячейка B: 3

Это тогда очень легко разобрать, используя стандартные функции python (то есть readlines, чтобы получить каждую строку файла, тогда это просто список, который вы можете разделить на ",").

Это, конечно, полезно только в некоторых ситуациях, например, когда вы получаете логи из программы и хотите быстро запустить скрипт python, который его обрабатывает.

Примечание : Как отмечалось в комментариях, разбиение строки на "," на самом деле не очень хорошо, так как вы сталкиваетесь со всевозможными проблемами. Лучше использовать модуль csv (чему здесь научится другой ответ).

1 голос
/ 05 июня 2010
import win32com

Excel=win32com.client.Dispatch("Excel.Application")
Excel.Workbooks.Open(file path) 
Cells=Excel.ActiveWorkBook.ActiveSheet.Cells
Cells(row,column).Value=Input
Output=Cells(row,column).Value
0 голосов
/ 22 сентября 2009

Если вы можете сохранить как CSV-файл с заголовками:

Attrib1, Attrib2, Attrib3
value1.1, value1.2, value1.3
value2,1,...

Тогда я очень рекомендую взглянуть на встроенный модуль csv

С этим вы можете делать такие вещи, как:

csvFile = csv.DictReader(open("csvFile.csv", "r"))
for row in csvFile:
    print row['Attrib1'], row['Attrib2']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...