我需要对来自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)
答案 0 :(得分:0)
要查找包含一词的行“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
答案 1 :(得分:0)
您正在以字节为单位读取文件。更改open('filepathAndName.csv, 'r')
命令或将您的字符串转换为"Kite".encode('UTF-8')
。第二个错误可能是你正在寻找一个单词" Kite",但是如果" Kite"是该行的子字符串,它将无法找到。在这种情况下,您必须使用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