gpt4 book ai didi

Python:使用 Pandas 从csv文件中提取特定列(包含特殊字符)

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:29 25 4
gpt4 key购买 nike

我有一个包含以下格式数据的文件(tests.txt):

NUMBER,\tFilename,\t\t\t\t\tTestName,\t\t\t\tConfig
001,\t\tFile1.csv,\t\tcube,\t\twidth height size
002,\t\tFile2.csv,\t\tsquare,\t\tlength param

通常看起来像:

HLM_TIER,    Filename,                  TestName,               Config
001, File1.csv, cube, width height size
002, File2.csv, square, length param

我想从这个文件中提取一个特定的列(TestName)。

代码尝试:

import pandas as pd
data = pd.read_csv('tests.txt', skipinitialspace=True)
TestName = data.TestName
TestName = TestName.strip(' \t')

但是,我收到以下错误:

Traceback (most recent call last):
File "C:\Users\temp.py", line 23, in <module>
TestName = data.TestName
File "C:\Python27\lib\site-packages\pandas\core\generic.py", line 2246, in __getattr__
(type(self).__name__, name))
AttributeError: 'DataFrame' object has no attribute 'TestName'

我认为错误是由于列中的选项卡导致 pandas 将该列读取为“\t\t\t\t\tTestName\”但是,我不确定如何解决这个问题。注意:我无法更改“tests.txt”文件。

最佳答案

您可以使用 converters 在读入数据时剥离数据。为此,您需要创建一个执行此剥离的函数,然后您需要将其传递到 dict 映射中函数的列。

您还应该使用 names 参数手动指定列名并跳过标题行。

例子-

def strip(x):
try:
return x.strip()
except AttributeError:
return x

col_names = ['HLM_TIER', 'Filename', 'TestName', 'Config', ...]
col_mapping = {key:strip for key in col_names}
data = pd.read_csv('tests.txt', names=col_names, converters=col_mapping)

关于Python:使用 Pandas 从csv文件中提取特定列(包含特殊字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33237848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com