如何格式化没有模块的csv文件(例如省略第一行和第一列)?

2024-04-30 04:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经导入了一个csv文件,希望通过删除第一行和前两列来格式化它,这样我就可以对数据执行计算。我还需要在列表列表中显示csv值并转换为float

我找不到任何不涉及使用模块的帮助(如导入csv或panda)。没有模块我怎么做

到目前为止我只有这些了

for i in inFile:
    listRows = i.strip().split(",") # Converts to list

在列表列表中显示数据,但如果不使用模块,我不知道下一步要做什么


Tags: 模块文件csvto数据in列表for
2条回答

就像@Christian Sauer提到的,为什么要重新发明。使用CSV包更容易。 但是如果你坚持你可以试试下面的方法

>>> d = [[1,2,3], [4,5,6], [7,8,9]]
>>> d
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> [x[1:] for x in d[1:]]
[[5, 6], [8, 9]]

Pandas是一个很重的软件,但是中的csv模块包含在Python标准库中,因此您应该想知道为什么不应该使用它

但也可以手工解析csv文件,只要它的格式很简单,没有像多行字段那样的角大小写

您的示例数据可以通过以下方式进行分析:

with open(csvfile) as fd:
    _ = next(fd)   # skip first line
    # parse what remains as float skipping first field
    lst = [[float(i) if i.strip() != '' else None for i in line.split(',')[1:]]
        for line in fd]

相关问题 更多 >