读取和写入适合Excel样式列/行操作的数据结构

时间:2015-09-08 01:19:03

标签: php python excel csv pandas

因此,我目前正在为一个客户与一些其他人一起开展网络应用程序,我们遇到了绊脚石。基本上我们需要能够以特定布局上传CSV文件 - 应用程序将采用该CSV文件,并根据特定列及其值,执行所需的算法和计算。

输出也是可下载的CSV文件。我们都没有在Python中使用CSV的经验。

CSV文件的布局如下: 身份证,姓名,地址,郊区,邮政编码,电子邮件,电话

我需要获取地址字段并在计算中使用它来确定如何从其特定地址到达目的地。我还需要打印与该人相关的具体细节。

修改 好的,基本上,CSV文件将包含有关员工及其相关个人信息的详细信息。我们的应用程序所做的是获取该信息,并根据员工地址,预测他们到达目的地的最佳路线。 基本上我该如何读取CSV文件,然后根据某个列/行编写算法来执行我需要的计算。

1 个答案:

答案 0 :(得分:0)

使用csv标准库模块轻松阅读.csv

一个更高效的库,允许更好地操作.csv文件pandas,你应该考虑首先使用这个文件。

例如,给定一个csv文件:

csv = r"""col1,col2,col3,col4
          bar,20150301,homer,53
          foo,20150502,bart,102
          barfoo,20150201,lisa,13
          foobar,20150501,marge,97"""

我们可以使用csv模块对其进行操作:

import csv # built-in no need to install
from StringIO import StringIO 

with open(StringIO(csv), 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        # Do whatever you need

同样地,还有熊猫:

import pandas as pnd # external, installation required

# returns a dataframe, specify cols, index et cetera 
df = pnd.read_csv(StringIO(csv),
    header=0,
    index_col=["col1", "col3"], 
    usecols=["col1", "col2", "col3"],
    parse_dates=["col2"])

# do dirty things with it.