电子表格作为数据:人类的电子表格处理

sad的Python项目详细描述


这是什么?

别难过,把那个凌乱的电子表格变成真实的数据!这是为那些刚开始编程的人准备的,他们需要处理典型的凌乱的电子表格数据。

它也适用于任何能够使用快速干净访问办公室中传递的电子表格数据的人。

这不是针对数据科学家和庞大的数据集(幸运的是,其他地方对此有大量支持)。

如何安装

pip3 install sad

如何访问电子表格

这些示例假定一个名为hr.csv的简单电子表格文件包含以下值:

Full Name     Employee ID   Start Date
Sue Storm     1000          1/1/18
Kitty Pride   1001          2/5/18

使用这个import语句:

from sad import Spreadsheet

电子表格数据需要采用CSV格式。打开文件并将文件对象传递给Spreadsheet.from_csv()

hr_csv = open('hr.csv')
sheet = Spreadsheet.from_csv(hr_csv)

按索引访问单元格

可以将Spreadsheet视为二维数组,因此,如果希望第二个单元格的值向下,第三个单元格的值向上,可以执行以下操作:

value = sheet[1][2]
print(value)

打印:

1/1/18

按标题名称访问单元格

如果使用标题名到达单元格,则假定电子表格的第一行是标题。要获得与上面相同的单元格,可以执行以下操作:

value = sheet[1]['Start Date']
print(value)

这也会打印:

1/1/18

您可能会发现首先获取行更直观,例如:

employee = sheet[1]
print(employee['Start Date']

更好的是,您可以对行和列同时使用标题名:

print(sheet['Sue Storm']['Start Date'])

在行上循环

很容易在行之间循环:

for row in sheet:
    print(row)

打印:

First Name, Last name, start date
Sue, Storm, 1/1/18
Kitty, Pride, 2/5/18

打印电子表格中的每个单元格:

for row in sheet:
    for cell in row:
        print(cell)

打印:

Full Name
Employee ID
Start Date
Sue
Storm
1/1/18
Kitty
Pride
2/5/18

在列上循环

您也可以在列上循环:

for col in sheet.columns:
    print(col)
    print('----')

打印:

Full Name
Sue Storm
Kitty Pride
----
Employee ID
1000
1001
----
Start Date
1/1/18
2/5/18

接下来是什么?

第一个版本提供了一些非常直观的方法来访问电子表格数据。

未来的版本将增加对处理电子表格中典型问题的支持,这些问题是为人类阅读而不是为计算机处理而创建的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?