我正在尝试从我的csv文件中检索特定行,而不是从它们创建新的csv文件。我正在检索的行必须包含列表中的相同值。
myList=[HELLO, WORLD, DAD]
csv_file= doc_01 | doc_02 | doc_03 | doc_04 |
HELLO| 0,002 | 0,8 | 00,5 | 0,003 |
WORLD| 0,1 | 00,9 | 1,2 | 2,1 |
MOM | 00,3 | 00,7 | 0,22 | 0,55 |
我的目的是遍历列表,如果列表中的值位于csv的第一列,我想要占用所有相应的行。
结果应该是:
new_csv= doc_01 | doc_02 | doc_03 | doc_04 |
HELLO| 0,002 | 0,8 | 00,5 | 0,003 |
WORLD| 0,1 | 00,9 | 1,2 | 2,1 |
有办法吗?
答案 0 :(得分:2)
您需要指定delimiter ='|'当你阅读数据时
import pandas as pd
import csv
df= pd.read_csv('C:\Users\shmathew\Desktop\Sample\sample.txt',sep='|')
myList=['HELLO', 'WORLD', 'DAD']
print df[df['doc_01'].isin(myList)]
或
infile=open('C:\Users\shmathew\Desktop\Sample\sample.txt', 'rb')
csv_reader = csv.reader(infile,delimiter='|')
for row in csv_reader:
if row[0] in myList :
print (row)
创建相同的输出
doc_01 doc_02 doc_03 doc_04 doc_05
0 HELLO 0,002 0,8 00,5 0,003
1 WORLD 0,1 00,9 1,2 2,1