在 csv 中切片 python
Slicing in python in a csv
我对 python 中的切片有疑问。我正在处理一个 csv 文件,我只想获取行中与用户将指定的另一个值相对应的第一个值。例如,我的 csv 文件如下所示:
| Date | Wind (mph) |
|------|------------|
| 20 | W 3 |
| 20 | W 3 |
| 20 | Vrbl 5 |
| 19 | Vrbl 7 |
| 19 | W 7 |
我只想获取与输入日期对应的第一个风向值。从那里,我只想得到第一个字母。例如,如果我请求 20 日的日期,我希望 wind = 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
csv 文件中的分隔符是什么?
无论如何,我假设
row[1].split(" ")[0]
会成功的。
例如,
In [1]: "w 3".split(" ")[0]
Out[1]: 'w'
您的代码是正确的。
请尝试添加一些参数 csv.reader(csvfile_wind, dialect='excel-tab', delimiter=';')
您也可以打印行。
如果行已拆分,您会看到类似 [20, 'some string']
的内容
而且你不需要括号:
if row[0] == date:
wind = row[1]
print wind
你真的不需要拆分它。
你可以这样做
if(row[0]) == date:
wind = row[1][0]
print wind
仅打印第 [1] 行中字符串索引 [0] 处的第一个字符
我对 python 中的切片有疑问。我正在处理一个 csv 文件,我只想获取行中与用户将指定的另一个值相对应的第一个值。例如,我的 csv 文件如下所示:
| Date | Wind (mph) |
|------|------------|
| 20 | W 3 |
| 20 | W 3 |
| 20 | Vrbl 5 |
| 19 | Vrbl 7 |
| 19 | W 7 |
我只想获取与输入日期对应的第一个风向值。从那里,我只想得到第一个字母。例如,如果我请求 20 日的日期,我希望 wind = 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
csv 文件中的分隔符是什么? 无论如何,我假设
row[1].split(" ")[0]
会成功的。
例如,
In [1]: "w 3".split(" ")[0]
Out[1]: 'w'
您的代码是正确的。
请尝试添加一些参数 csv.reader(csvfile_wind, dialect='excel-tab', delimiter=';')
您也可以打印行。 如果行已拆分,您会看到类似 [20, 'some string']
的内容而且你不需要括号:
if row[0] == date:
wind = row[1]
print wind
你真的不需要拆分它。 你可以这样做
if(row[0]) == date:
wind = row[1][0]
print wind
仅打印第 [1] 行中字符串索引 [0] 处的第一个字符