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