首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python CSV获取特定行数据

Python CSV获取特定行数据
EN

Stack Overflow用户
提问于 2020-05-16 16:07:01
回答 3查看 308关注 0票数 0

这是csv文件

代码语言:javascript
复制
name,country,code
Georgina,Saint Helena,ET
Brooks,Austria,LR
Rosaline,Peru,DZ

如何在不循环整个csv文件的情况下获得特定的行数据?

查找以下语法:如果csv中存在searchName,则提取数据

代码语言:javascript
复制
searchName = 'Brooks'
with open('name.csv', 'r') as file:
  reader = csv.DictReader(file)
  for row in reader:
    if (row['name']) == searchName :
      print(row['name'] + ' >> ' + row['country'])

谢谢

为感兴趣的人更新panda解决方案

代码语言:javascript
复制
import pandas as pd

df = pd.read_csv('a.csv')
select_row = df.loc[df['name'] == 'Brooks']
if select_row.empty:
    print('No records')
else:
    print('Print Record')
    print(select_row.country)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-16 17:12:12

获取第一个实例

代码语言:javascript
复制
search_name = 'Brooks'
with open('name.csv', 'r') as file: 
    output = re.search(f'{search_name}.*', file.read())

row = output.group().split(',')
print(row[0], '>>' ,row[1])

获取所有实例

代码语言:javascript
复制
search_name = 'Brooks'
with open('name.csv', 'r') as file: 
    output = re.findall(f'{search_name}.*', file.read())

for row in output: 
    items = row.split(',')
    print(items[0], '>>' ,items[1])

使用DataFrames

代码语言:javascript
复制
import pandas as pd 

search_name = 'Brooks'
df = pd.read_csv('name.csv')
output = df[df.name == search_name].iloc[0]
print(output['name'], '>>', output['country'])
票数 1
EN

Stack Overflow用户

发布于 2020-05-16 16:21:31

你可以尝试使用熊猫,让你的生活变得更容易,试试这样的东西:

代码语言:javascript
复制
import pandas as pd

df = pd.read_csv('name.csv')

if df.iloc[5, 6]:
# execute condition
else
# execute another condition

我已经给了你一个提纲,你可以试着用它来解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2020-05-16 17:17:11

虽然dataframe似乎是最好的选择,但如果您将csv视为一个简单的文本文件,这应该会对您有所帮助:

代码语言:javascript
复制
searchName = 'Brooks'
with open('name.csv', 'r') as f:
    foo = f.read()

items=re.findall(f"{searchName}.*$",foo,re.MULTILINE)

print(items)

输出:

['Brooks,Austria,LR']

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61833728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档