繁体   English   中英

搜索CSV文件

[英]Searching a CSV file

我需要对来自CSV文件的数据进行过滤并做一些数学运算。

我编写了一个简单的Pyhton脚本来隔离需要获取的行(它们应包含诸如“ Kite”之类的某些关键字),但是我的脚本无法正常工作,而且我找不到原因。 你能告诉我这是怎么回事吗? 另一件事:一旦到达选定的行,如何指向每个(逗号分隔)列?

提前致谢。

R.

import csv

with open('sales-2013.csv', 'rb') as csvfile:
    sales = csv.reader(csvfile)
    for row in sales:
        if row == "Kite":
            print ",".join(row)

要查找包含单词“ Kite”的行,则应使用

for row in sales:   # here you iterate over every row (a *list* of cells)
    if "Kite" in row:
        # do stuff

现在,您知道如何查找所需的行,可以通过对行进行索引来访问所需的单元格。 例如,如果要选择一行的第二个单元格,则只需执行

cell = row[1]  # remember, indexes start with 0

您正在读取文件(以字节为单位)。 更改open('filepathAndName.csv, 'r')命令或转换字符串,例如"Kite".encode('UTF-8') 第二个错误可能是您正在寻找带有单词“ Kite”的行,但是如果“ Kite”是该行的子字符串,则找不到该行。 在这种情况下,您必须if "Kite" in row:使用if "Kite" in row:

with open('sales-2013.csv', 'rb') as csvfile: # <- change 'rb' to 'r'
    sales = csv.reader(csvfile)
    for row in sales:
        if row == "Kite": # <- this would be better: if "Kite" in row:
            print ",".join(row)

阅读此内容: https : //docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM