是否有电子表格对象/库这样的东西

时间:2010-07-06 01:39:52

标签: excel csv spreadsheet

我正在尝试以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 个答案:

答案 0 :(得分:1)

Microsoft Excel?

您没有电子表格,您已经描述了具有混合格式和一些元数据的平面文件。你的平面文件中有什么说销售数据是在A6:E22?事实上,A6:E22在Microsoft Excel的上下文之外以及数据的上下文中是什么意思?

您可以通过多种方式自行解析数据,并提供代码来管理数据格式,将其加载到一组数据库表中,并使用SQL将其分解为多个部分。您选择哪种方式取决于数据的来源,数据来源以及使用方式。如果您提供更多这类信息,可能更容易推荐选择方法。

答案 1 :(得分:1)

我在Python&中发表了这样的library Google Spreadsheets API。库的接口与示例中的接口不完全相同,但它使用对象进行工作表和单元格表示。

即使您不熟悉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