0

我在 CSV 文件中有这些数据,我想在 python 中读取它。问题是小数点和分隔符都是逗号。如何以 1、2、3、4、6、8、10、11 和 15 逗号用作分隔符而其他逗号用作小数的方式读取 CSV 文件?谢谢

csv文件中的数据

4

1 回答 1

0

作为一种解决方法,您可以按如下方式读取数据:

with open('input.txt') as f_input:
    data = [next(f_input).strip().split(',')]   # Read header normally

    for line in f_input:
        row = line.split(',')
        data.append(row[:2] + ['.'.join([x, y]) for x, y in zip(*[iter(row[2:])] * 2)])

print data

这将为您提供以下输出:

[
  ['$Date', '$Time', 'PIT_2612_EU', 'PIT_3611_EU', 'PT2614_EU', 'PIT_3614_UE', 'E1_QBRT_D3', 'E1_QBRT_D4', 'DT_2611_EU'], 
  ['04/01/015', '00:00:00', '799.8047', '686.0352', '780.7617', '380.8594', '0.1058', '298.0', '8324219.0']
]

这首先读取标题行并以逗号分隔。然后对于每个数据行,它再次以逗号分隔,保留前两个值,然后将每个后续对与 a 重新组合.。结果data可以加载到 Pandas 中。

于 2018-03-10T15:54:29.900 回答