Как я могу извлечь определенные части всех строк в текстовый файл? - PullRequest
1 голос
/ 07 августа 2020

У меня есть текстовый файл, содержащий несколько строк данных, но мне нужно знать только небольшую часть строки. Из исходного файла я могу сузить его до строки, содержащей нужную мне информацию, но я не уверен, как извлечь только необходимые данные: содержимое mfgcode, modelno и qtyavail.

import csv

with open('file.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)

    for line in csv_reader:
        print(line)

Текстовый файл результатов распечатывается, и ответ:

['<part branch="1" core="0.00" cost="10.39" deliverytime="1" desc="" errcode="success" kit="" linecode="brand" linenum="1" list="30.08" mfgcode="nike" modelno="1110" qtyavail="40" qtyreq="1" uom="" />']
['<part branch="1" core="0.00" cost="10.66" deliverytime="1" desc="" errcode="success" kit="" linecode="brand" linenum="1" list="30.48" mfgcode="adidas" modelno="1109" qtyavail="209" qtyreq="1" uom="" />']
['<part branch="1" core="0.00" cost="20.17" deliverytime="1" desc="" errcode="success" kit="" linecode="brand" linenum="1" list="30.24" mfgcode="puma" modelno="1108" qtyavail="2" qtyreq="1" uom="" />']

Как я могу извлечь только значения mfgcode, modelno и qtyavail?

Ответы [ 2 ]

1 голос
/ 07 августа 2020

Попробуйте это:

import csv
import re

with open('file.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)

ff = []
for line in csv_reader:
       ff.append([re.search('mfgcode="(.+?)"', line[0] ).group(1),re.search('modelno="(.+?)"', line[0] ).group(1),re.search('qtyavail="(.+?)"', line[0] ).group(1)])
        
df = pd.DataFrame(ff,columns =['mfgcode','modelno','qtyavail'])
df.to_csv("test.csv",index=False)
print (df)    

Вывод:

  mfgcode modelno qtyavail
0    nike    1110       40
1  adidas    1109      209
2    puma    1108        2
1 голос
/ 07 августа 2020

Используйте печать (строка [1]), чтобы выбрать пользовательскую ячейку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...