我有一个关于在蟒蛇切片的问题。我正在处理一个csv文件,我只想获得行中的第一个值,该值对应于另一个值,用户将指定该值。例如,我的csv文件如下所示:
| Date | Wind (mph) |
|------|------------|
| 20 | W 3 |
| 20 | W 3 |
| 20 | Vrbl 5 |
| 19 | Vrbl 7 |
| 19 | W 7 |
我只想得到与输入的日期相对应的第一个风向值。从那里,我只想得到第一个字母。例如,如果我要求20号的日期,我想要风= w,我想我需要分割行,但我不知道在哪里。
import csv
date = (raw_input("Please enter a date within the past three days (format: for 12/2/15, enter '02'): "))
with open('wind.csv', 'rb') as csvfile_wind:
reader3 = csv.reader(csvfile_wind)
for row in reader3:
if(row[0]) == date:
wind = (row[1])
print wind
发布于 2015-12-22 08:56:14
你真的不需要把它分开。你可以直接
if(row[0]) == date:
wind = row[1][0]
print wind
仅打印row1中字符串索引处的第一个字符
发布于 2015-12-22 05:46:37
csv文件中的分隔符是什么?总之,我想
row[1].split(" ")[0]
会起作用的。
例如,
In [1]: "w 3".split(" ")[0]
Out[1]: 'w'
发布于 2015-12-22 06:38:15
你的代码是正确的。
请尝试添加一些args csv.reader(csvfile_wind, dialect='excel-tab', delimiter=';')
您也可以打印行。如果行分裂了,你可以看到大约20,‘一些字符串’
你不需要托架:
if row[0] == date:
wind = row[1]
print wind
https://stackoverflow.com/questions/34417186
复制