如何使用python从csv文件中调用特定单词



假设如果我有一个包含两列的.csv文件A, B那么如果我调用 A 列第 3 行,那么如何打印 B 列第 3 行数据。请帮助我,因为我是代码初学者。

我只想调用一个输入值并从下一列打印相同的行值。

这是我的代码:

如果味精中的"你好":

with open('data.csv', "r") as f:
reader = csv.reader(f)
chat = {}
for row in reader:
key = row[0]
chat[key] = row[1:]
try:
gotreply = chat[msg]
except KeyError:
gotreply = 'null'
print(gotreply)
if gotreply == 'null':
print("Sorry! I didn't understand. I'm still learning.")
else:
print("Input Again")

不知道你到底在问什么,但你可以做

import pandas as pd
foo_df = pd.read_csv('files/example.csv')
if foo_df.A[2] == "c":
print(foo_df.B[2])

我建议熟悉Pandas作为解析数据的优雅方式。

示例.csv:

A,B
a,b
b,c
c,d
d,e

其中 A 和 B 是列名。

pandas.read_csv()将读取.csv并将其放入数据帧中。查看文档并试一试。

import pandas as pd
foo_df = pd.read_csv('/path/to/example.csv')
print(foo_df)

应该返回

A  B
0  a  b
1  b  c
2  c  d
3  d  e    

从那里开始,只需查看文档即可从数据帧中检索所需的内容。

我也是初学者,这是我在这里的第一篇文章,所以我会尽力帮助你。

首先,我假设您的CSV文件具有标题,并且假设您的标头称为" A"和" B"。

import csv
with open('test.csv', mode='r') as csv_file:
csv_reader = csv.reader(csv_file)
row_count = 1
for i in csv_reader:
if row_count == 4:
print(i[1])  # prints second column of third row
row_count += 1

可能有一种更有效的方法,但我也是游戏的新手。

当我刚开始的时候,我也有一些这样的疑问。熊猫切片将对您有所帮助。

首先将熊猫模块导入为"pd"(将熊猫导入为pd(,因为它是最常用的形式,并且更容易适应。

import pandas as pd
data = [['tom', 10], ['nick', 15], ['juli', 14], ['tony', 12]]
df = pd.DataFrame(data, columns = ['A', 'B'])

这将创建一个示例数据框或简单的"df":

A     B
0   tom     10
1   nick    15
2   juli    14
3   tony    12

使用 pandas df.loc 中最常见的切片器之一,您可以获得所需的结果:

df.loc[2,'B']

这将返回您提到的"B"列第 3 行。请记住,在 Python 中,第一个索引从 0 而不是 1 开始。这就是为什么我们使用"2"作为第三行。

希望这对你有帮助。

相关内容

最新更新