Есть ли такая вещь, как объект / библиотека электронной таблицы - PullRequest
0 голосов
/ 06 июля 2010

Я пытаюсь сгенерировать некоторые отчеты из существующих отчетов в формате CSV.Эти файлы CSV содержат не только данные, но и имя отчета, дату отчета, несколько наборов данных - каждая строка не обязательно содержит одинаковое количество полей или согласованных данных в строке.была доступна какая-то библиотека типов таблиц, вот как я мог бы представить, что она работает.

load some csv file into spreadsheet

report_title = spreadsheet("A1")

report_date = spreadsheet("B2")


sales_data_spreadsheet = spreadsheet("A6:E22)")

sales_total = sales_data_spreadsheet("SUM(E1:E17)")


expenses_data_spreadsheet = spreadsheet("A26:E38")

expenses_total = expenses_data_spreadsheet("SUM(E1:E11")

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Я создал такую ​​ библиотеку в Python и Google Spreadsheets API. Интерфейс библиотеки не совсем такой, как в вашем примере, но он использует объекты для представления листов и ячеек.

API библиотеки довольно прост, даже если вы новичок в Python.

Сначала вы должны загрузить свои CSV в таблицы Google, а затем получить к ним доступ:

# Load the module
import gspread

# Login with your Google account
gc = gspread.login('_your_google_account_email_','password')

# Open a spreadsheet and worksheet
wks = gc.open("name of the spreadsheet").sheet1

wks.update_acell('B2', "it's down there somewhere, let me take another look.")

# Select a range
sales_data = [float(c.value) for c in worksheet.range('E1:E17')]

# Sum it up
sales_total = sum(sales_data)

Кроме того, вы можете импортировать данные CSV в файл Excel и использовать эту замечательную библиотеку Python: xlrd

1 голос
/ 06 июля 2010

Microsoft Excel?

У вас нет электронных таблиц, вы описали плоские файлы со смешанными форматами и некоторые метаданные.Что в ваших плоских файлах говорит, что данные о продажах находятся в A6: E22?На самом деле, что означает A6: E22 вне контекста Microsoft Excel и в контексте ваших данных?

Существует множество способов обработки этих данных, анализируя их вручную и предоставляя код дляуправлять форматами данных, загружать их в набор таблиц базы данных и использовать SQL, чтобы разбить их на части.То, что вы выберете, зависит от того, что это за данные, откуда они поступают и что вы собираетесь с ними делать.Если вы предоставите немного больше информации такого рода, вам будет проще порекомендовать подход.

...