Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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
如何将txt文件中的一列提取到列表(Python)中?_Python_List_Txt - Fatal编程技术网

如何将txt文件中的一列提取到列表(Python)中?

如何将txt文件中的一列提取到列表(Python)中?,python,list,txt,Python,List,Txt,我有一个包含多个列的txt文件,每个列的长度不同,并且由不同数量的空格分隔。我只想从列表中找出一列。例如:我想打印列表中的第五列 我希望输出为[15500092005707500,…] 谢谢你的帮助 1010 Mob/Demob 1.000 LS 155,000.00 155,000.00 1020 Provide Site Office

我有一个包含多个列的txt文件,每个列的长度不同,并且由不同数量的空格分隔。我只想从列表中找出一列。例如:我想打印列表中的第五列

我希望输出为[15500092005707500,…]

谢谢你的帮助

1010          Mob/Demob                                             1.000         LS   155,000.00  155,000.00
1020          Provide Site Office                                   1.000         LS     9,200.00    9,200.00
101010        100% Perf. & Maint., and 100% Mater. and Lab. Bond    1.000        LS
101020        Advertise for Substantial Completion                  1.000         LS      570.00      570.00
101030        Contractor Layout                                     1.000     ALOW      75,000.00   75,000.00
101040        Prepare Construction Management Plan                  1.000         LS     2,850.00    2,850.00
101050        S&I 10x20 Mud Mat                                     1.000         LS    10,400.00   10,400.00
101060        Pre-Construction Survey                               1.000         LS      370.00      370.00
101070        Post-Construction Survey                              1.000         LS      370.00      370.00

如果使用python,可以使用readlines()方法将数据分解为字符串列表。从那里,您可以在空格中拆分它们,然后在相关列中为数据编制索引


有关如何在python中使用txt文件的示例,请参见。

您可以使用此示例来解析文本文件:

重新导入
数据=[]
打开(“your_file.txt”、“r”)作为f_in:
对于地图中的线条(str.strip,f_in):
#跳过空行
如果不是直线:
持续
#超过2个空格是我们的列分隔符:
line=re.split(r“\s{2,}”,行)
#如果我们有6列,将最后一列添加到列表中:
如果len(line)==6:
n=int(浮点(第[5]行)。替换(“,”,“”))
data.append(n)
#如果不是,请添加空字符串:
其他:
数据。追加(“”)
打印(数据)
印刷品:

[1550009200',570075000285010400370370370]

熊猫有一种读取固定宽度数据文件的方法。在这种情况下,
widths
指定每列的宽度。我使用了
io.StringIO
将文件数据作为类似文件的对象提供给一个最小的、可复制的示例;但也可以传递文件名:

将熊猫作为pd导入
输入io
数据=“”\
1010移动/卸载1.000负载155000.00 155000.00
1020提供现场办公室1.000 LS 9200.00 9200.00
101010 100%性能和维护和100%材料。和实验室债券1000升
101020为基本完工做广告1000 LS 570.00 570.00
101030承包商布局图1.000至75000.00 75000.00
101040编制施工管理计划1.000 LS 2850.00 2850.00
101050 S&I 10x20泥浆垫1.000 LS 10400.00 10400.00
101060施工前测量1.000 LS 370.00 370.00
101070施工后测量1.000 LS 370.00 370.00
'''
df=pd.read_fwf(io.StringIO(数据),宽度=(14,54,10,9,10,12),头=无,千=',')
打印(列表(df[4]))
输出:

[155000.09200.0,nan,570.0,75000.0,2850.0,10400.0,370.0,370.0]

您使用什么语言?另外,不要张贴图片。以文本形式发布数据(格式正确)。我正在使用python以正确格式发布数据。我可以从txt文件复制数据并粘贴到问题上吗?(对不起,我还是新来的)编辑代码时,您可以按
Ctrl
+
K
设置文本格式。请不要故意破坏您的问题。我知道怎么做,只是不确定代码会是什么样子看着我。你的版本和我的几乎一模一样。向上投票。