Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用fileinput.input获取每行的值_Python - Fatal编程技术网

如何在python中使用fileinput.input获取每行的值

如何在python中使用fileinput.input获取每行的值,python,Python,我有一个csv: mycsv.csv name,last name yeison, smith lola, boa elmo, spitia anderson, exneider juan, ortega 我想显示每列的值。比如: print (line["word"]) print (line[0]) import fileinput with fileinput.input('mycsv.csv', inplace=True) as f: for line in f:

我有一个csv:

mycsv.csv

name,last name  
yeison, smith
lola, boa
elmo, spitia
anderson, exneider
juan, ortega
我想显示每列的值。比如:

print (line["word"])
print (line[0])


import fileinput

with fileinput.input('mycsv.csv', inplace=True) as f:
 for line in f:
    #if f.lineno() == 2:
    if line["name"] == "yeison":
        print('german, ezequiel')
    else:
        print(line, end='')

如果您的数据不大,您可以逐行打开并解析文件,如下所示:

with open("mycsv.csv") as f:
    lines = [line.strip('\n') for line in f]

for ln in lines:
    abc = ln.split(',')
    if(len(abc) > 1):
        print(abc[0],abc[1])

否则,您可以使用
csv
模块有效地执行此操作

您可以使用此简单代码读取cvs文件(熊猫)


您应该使用或模块,而不是
fileinput
@Nenri我这样做是因为我找不到更好的方法来替换我的csv行。如果我能找到并能使用更好的方法来替换CSV的“n”行,我会毫无疑问地这样做。看看Ayoub的答案,我会评论它是如何做到的,因为我找不到更好的方法来替换CSV的行。如果我能找到并使用更好的方法替换CSV中的“n”行,我会毫无疑问地这样做。如果您要替换CSV中的一行,那么您应该使用其他答案中建议的模块之一,我的最佳方法是加载CSV并从该数据创建一个全新的CSV,这比
pandas
csv
所能做的要慢得多。要替换一个“n”行,你可以为你想要的任何列做
data['column'][n]=newValue
(这是为了回答OP评论中提出的问题),这段代码看起来更容易。什么是“专栏”?你建议这样使用吗?@unusuario例如,在ur csv中,如果你想将“anderson”修改为“christopher”do
data['name'][4]=“christopher”
例如data=pd.read_csv('filename.csv',name=['col0',col1',])print(data)@ayoubbenayaache,我可以在写的同时读csv吗?最后一个问题,我如何列出我的记录?
# Load the Pandas libraries with alias 'pd' 
import pandas as pd 
# Read data from file 'filename.csv' 
# (in the same directory that your python process is based)
# Control delimiters, rows, column names with read_csv (see later) 
data = pd.read_csv("filename.csv") 
# Preview the first 5 lines of the loaded data 
data.head()