![](/img/trans.png)
[英]How would I get the value of first or second column in csv file given the value of last column using python
[英]How can I read in from a csv file by assigning last column as the second value of a tuple?
我在的csv文件中包含三列,因此每一行的格式為:
“ abcdef”“ uvwxyz” 0
我想生成一個元組列表,其中元組的第一個元素是從前兩列中提取的一些特征的字典,而第二個元素只是第三列(0或1值)的值,代表值的標簽特征。
我嘗試了以下操作,但是它拋出一些語法錯誤,說我在最后一行中未定義:
dataframe = pd.read_csv(csv_file, header = None, delimiter = "\t")
a = dataframe[0]
b = dataframe[1]
label = dataframe[2]
feature = [(findFeature(x,y), labels) for x,y in i for i, labels in zip(zip(a,b), label)]
我哪里錯了?
看來您需要:
feature = [(findFeature(x,y), label) for x,y, label in zip(a,b,label)]
如果您不需要任何進一步的轉換,可以使用csv
庫而不是pandas
:
import csv
with open(csv_file) as f:
reader = csv.reader(f)
feature = [(findFeature(x,y), z) for x,y,z in reader]
您可以在此處找到csv
包用法的示例
我猜您需要將此("abcdef", "uvwxyz", 0)
轉換為("abcdef", 0, "uvwxyz")
:
with open(csv_file, "r") as f:
dataframe = [(a,c,b) for a,b,c in map(lambda x: x.split("\t"), f)]
拆分每行並重新打包為(a,c,b)
時a,b,c
拆開元組a,b,c
包裝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.