我需要根据用户输入导入和读取两个单独的CSV文件。我们将两个文件称为test1.csv和test2.csv。如果需要test1或test2,将提示用户输入。
输入所需的CSV文件后,系统将提示用户其他一些问题,以选择所需的数据行。我的CSV文件数据如下:
Column A, Column B, Column C, Column D`
Row 1, 1, 2, 3
Row 2, 4, 5, 6
如果用户输入第2行,我想返回列B,C和D作为结果。
我是python的新手,不确定根据用户输入来打印正确行的代码。我也不确定如何根据输入选择要提取哪个CSV文件。
作为一种变通方法,我在代码内的if / else语句中写出了所有CSV数据,但希望将数据保留为CSV格式。
'vehicle = input('Enter CSV File:')
if vehicle == 'Test2':
print ("Row Titles")
print ("1.Row 1")
print ("2.Row 2")
choice = input('Row #:')
Column B= '1'if choice == '1' else '2' if choice == '2' else
0' 列C ='2'如果选择=='1'否则为'5'如果选择=='2'否则为'0' 列D ='3',如果choice =='1'否则为'6',如果choice =='2'否则为'0'
print (column b+ column c+ column D)
elif车辆==“ Test2”:
上面的重复代码以及CSV Test2文件的选项
否则:打印(“无效输入”)'
答案 0 :(得分:0)
尝试--
import pandas as pd
file_name = input("Enter file name : ")
read_csv_file = pd.read_csv(file_name+'.csv')
column_number_0 = input("1st column number : ")
column_number_0 = int(column_number_0)
if column_number_0 < 0 :
print('Invalid column number !!!!!!')
pass
else:
row_selection = read_csv_file[read_csv_file.columns[column_number_0:]]
print(row_selection)
答案 1 :(得分:0)
就选择csv而言,只需将其作为提示并将其放置在文件字符串中即可。
private void initialzeLogic(){
s = FileUtil.readFile(FileUtil.getExternalStorageDir().concat("/testfile.txt"));
String[] lines = s.split(System.getProperty("line.separator"));
file.add(lines[0]);
file.add(lines[1]);
etc...
listview1.setAdaptor(new ArrayAdaptor<String>getBaseContext(),
android.R.layout.simple_list_item1, file));
((BaseAdaptor)listview1.getAdaptor()).notifyDataSetChanged();
}
您需要将其导入为pandas数据框,以便您轻松调用行和列。
fileinput = str(input("Which file do you want?"))
if not ".csv" in fileinput:
fileinput += ".csv"
然后,您可以使用iloc返回数据框中的行或列。
import pandas as pd
data = pd.read_csv(fileinput)