有电子表格对象/库吗?

我试图从CSV格式的现有报告生成一些报告。 这些CSV文件不仅包含数据,还包含报告名称,报告date,多个数据集 – 每行不一定包含相同数量的字段或每行一致的数据。

我很好奇,如果有一些电子表格types库可用,这是我将如何想象它的工作。

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") 

Microsoft Excel?

你没有电子表格,你已经描述了混合格式和一些元数据的平面文件。 销售数据是在A6:E22? 事实上,A6:E22在Microsoft Excel环境和数据环境之外意味着什么?

处理这些数据的方法有很多,您可以自行parsing,并提供代码来pipe理数据格式,以便将数据加载到一组数据库表中,并使用SQL将其分解成多个部分。 你select哪一个取决于数据是什么,它来自哪里以及你将要做什么。 如果您提供了更多这样的信息,则可以更容易地推荐一种方法。

我已经在Python&Google Spreadsheets API中创build了这样的库 。 库的接口与您的示例中的接口不完全相同,但它使用对象来表示单元格和单元格。

即使你不熟悉Python,图书馆的API也非常简单。

首先,您必须将您的CSV上传到Google Spreadsheets,然后才能访问:

 # 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