如何读取文本文件 python 中以特定整数开头的行?

how to Read a row starting with a specific integer in text file python?

我的问题是我需要从文本文件中读取并打印以特定整数(用户输入)开头的特定行。

这是我的文本文件信息:

1 , 'USA' , 7244184 , 53629 , 208440 , 895

2 , 'Mexico' , 715457 , 5408 , 75439 , 490

3 , 'Ireland' , 33995 , 319 , 1797 , 3

4 , 'India' , 5901571 , 85468 , 93410 , 1093

5 , 'Turkey' , 311455 , 7858 , 7858 , 73

8 , 'Qatar' , 124650 , 220 , 212 , 2

示例:

如果用户输入代码 = 8

我需要程序打印[8,Qatar,124650,220,212,2]

我该怎么办?

n = int(input())

with open('./file.txt') as f:

    content = f.read().splitlines()

    for line in content:

        if int(line[0]) == n:
            elements = line.split(',') # a list of individual elements

根据看到的结构文件,它看起来像 csv,您最好使用 pandas 并遵循以下代码:

import pandas as pd
df = pd.read_csv('file.csv', header=None)
#you can read txt file also and set seperator like this pd.read_csv('file.txt', sep=" ", header=None)
userinput=input()
print(df.loc[df[0] == int(userinput)])

如果您有任何问题,请告诉我:)

您的文件是一个 csv(逗号分隔值),因为可以将其作为数据框读取(请参阅 pandas)。

import pandas as pd
dataframe = pd.read_csv("your_file.txt", names=["Country", "column_2", "column_3", "column_4", "column_5"], index_col=0)

result of reading the csv

user_input = int(input())
result = dataframe.iloc[user_input]
print(result)

您将在 return 中拥有一个包含每一列值的对象。

print(result.Country)

ps:您必须安装库 pandas,如果您有 pip,只需键入:pip install pandas。如果没有,请先安装 pip,您将需要它,只是 google 如何安装 pip。