如何在python中从csv文件获取输入
我有一个csv(input.csv)文件,如下所示:如何在python中从csv文件获取输入,python,csv,Python,Csv,我有一个csv(input.csv)文件,如下所示: VM IP Naa_Dev Datastore vm1 xx.xx.xx.x1 naa.ab1234 ds1 vm2 xx.xx.xx.x2 naa.ac1234 ds1 vm3 xx.xx.xx.x3 naa.ad1234 ds2 我想使用这个csv文件作为python脚本的输入文件。在此文件中,第一行即(VM IP Naa_Dev Datastore)是列标题,每个值用空格分隔 所以我的问题是我们如何使用这个csv文件在python中输
VM IP Naa_Dev Datastore
vm1 xx.xx.xx.x1 naa.ab1234 ds1
vm2 xx.xx.xx.x2 naa.ac1234 ds1
vm3 xx.xx.xx.x3 naa.ad1234 ds2
我想使用这个csv
文件作为python脚本的输入文件。在此文件中,第一行即(VM IP Naa_Dev Datastore
)是列标题,每个值用空格分隔
所以我的问题是我们如何使用这个csv
文件在python中输入值,所以如果我需要在python脚本中搜索vm1
IP的值是多少,那么它应该选择xx.xx.xx.x1
,或者如果我正在寻找VM
,它应该采用naa.ac1234
naa\Dev
的方法vm2
我正在使用Python 2.7.8版
非常感谢您的帮助
感谢使用这样的表格数据,最好的方法是使用熊猫 比如:
import pandas
dataframe = pandas.read_csv('csv_file.csv')
# finding IP by vm
print(dataframe[dataframe.VM == 'vm1'].IP)
# OUTPUT: xx.xx.xx.x1
# or find by Naa_Dev
print(dataframe[dataframe.Naa_Dev == 'xx.xx.xx.x2'].VM)
# OUTPUT: vm2
对于将csv导入python,您可以使用以下代码:
import pandas as pd
df = pd.read_csv('input.csv', sep=' ')
对于在创建的数据框中定位某些行,您可以使用多个选项(您可以在pandas中轻松找到这些选项,或者只需通过谷歌搜索“filter data python”),例如:
df['VM'].where(df['Naa_Dev'] == 'naa.ac1234')
使用该模块将文件读入一个文件。有很多用于读取csv文件的参数。该功能非常有用
解决方案:
#导入别名为“pd”的模块
作为pd进口熊猫
# Open the CSV file, delimiter is set to white space, and then
# we specify the column names.
dframe = pd.read_csv("file.csv",
delimiter=" ",
names=["VM", "IP", "Naa_Dev", "Datastore"])
# print will output the table
print(dframe)
# to_string will allow you to align and adjust content
# e.g justify = left to align columns to the left.
print(dframe.to_string(justify="left"))
熊猫可能是最好的答案,但你也可以:
import csv
your_list = []
with open('dummy.csv') as csvfile:
reader = csv.DictReader(csvfile, delimiter=' ')
for row in reader:
your_list += [row]
print(your_list)
你可以查看熊猫你用谷歌搜索过吗?谢谢,这正好符合我的要求。