Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提取文本文件中所有行的某些部分?_Python_Database_Python Requests_Extract_Readlines - Fatal编程技术网

Python 如何提取文本文件中所有行的某些部分?

Python 如何提取文本文件中所有行的某些部分?,python,database,python-requests,extract,readlines,Python,Database,Python Requests,Extract,Readlines,我有一个文本文件,其中包含几行数据,但我只需要知道一行的一小部分。从初始文件中,我可以将其缩小到包含所需信息的行,但我不确定如何仅提取必要的数据: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) 打印结果文本文件,

我有一个文本文件,其中包含几行数据,但我只需要知道一行的一小部分。从初始文件中,我可以将其缩小到包含所需信息的行,但我不确定如何仅提取必要的数据: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的值?

使用print(第[1]行)选择自定义单元格。

尝试以下操作:

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

您好,谢谢您的回复。这仅在文件具有某种分隔符时才起作用。这个文件只有空格作为分隔符,所以我不知道如何适应它。谢谢你的帮助csv.reader(csv_文件,delimiter='space here')可能会有帮助哈哈,这是我在这里发布之前尝试的最后一个选项。感谢您的快速回复。您好,谢谢您的帮助。如何将结果保存到新文件中?@techsandspecs再次检查我的答案。您可以将其保存为本地目录中的csv文件。