所以我目前正在与其他几个人一起为客户端开发一个web应用程序,我们遇到了一个绊脚石。基本上,我们需要能够以特定的布局上传CSV文件-应用程序将根据特定的列和它们的值获取CSV文件,它将执行所需的算法和计算。
输出也将是一个可下载的CSV文件。我们都没有在Python中使用CSV的经验。
CSV文件的布局如下:ID,姓名,地址,郊区,邮编,邮箱,电话
我需要取地址字段,并在计算中使用它来确定如何从特定地址到达目的地。我还需要打印与那个人相关的具体细节。
编辑基本上,CSV文件会包含雇员的细节和他们相关的个人信息。我们的应用程序所做的就是获取这些信息,并根据员工的地址,预测他们到达目的地的最优路线。基本上,我是如何读取CSV文件,然后根据特定列/行编写算法来执行所需的计算。
使用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.