gpt4 book ai didi

python - 读取带有负数的文本文件的问题

转载 作者:行者123 更新时间:2023-12-04 07:28:59 24 4
gpt4 key购买 nike

文本文件:
我有一个包含超过 87,000 个数据点的文本文件。文本文件的格式如下:

  • X 坐标 ----- Y 坐标 ------- 参数 1 ------ 参数 2--------
  • 2.744596610E-02 1.247197202E+00 7.121462841E-03 2.467938066E-05
  • 2.732558411E-02 1.242196291E+00 1.365028508E-02 6.262368697E-05
  • 2.713870635E-02 1.227254209E+00 1.958976965E-03-3.179617352E-06

  • 没有空格由于领先的 ,在以粗体突出显示的两个数字之间-(减)符号,因此生成的 csv/pandas 数据帧会产生如下所示的结果。
    输出:
    | X Coordinate    | Y Coordinate    | Parameter 1     | Parameter 2     | 
    | -------------- | -------------- | --------------- | ------------ |
    | 2.744596610E-02 | 1.247197202E+00 | 7.121462841E-03 | 2.467938066E-05 |
    | 2.732558411E-02 | 1.242196291E+00 | 1.365028508E-02 | 6.262368697E-05 |
    | 2.713870635E-02 | 1.227254209E+00 | 1.958976965E-03-3.179617352E-06| |
    需要:
    | X Coordinate    | Y Coordinate    | Parameter 1     | Parameter 2     | 
    | -------------- | -------------- | --------------- | ------------ |
    | 2.744596610E-02 | 1.247197202E+00 | 7.121462841E-03 | 2.467938066E-05 |
    | 2.732558411E-02 | 1.242196291E+00 | 1.365028508E-02 | 6.262368697E-05 |
    | 2.713870635E-02 | 1.227254209E+00 | 1.958976965E-03 |-3.179617352E-06 |
    我对 python/pandas 很满意,所以任何编程技术都会有很大帮助。

    最佳答案

    import re

    DATAPOINT = re.compile(r'-?\d{1}\.\d{9}E[+-]\d{2}')

    data = []
    with open("data.txt") as fp:
    next(fp) # Ignore header (1st line)
    for l in fp.readlines():
    data.append(DATAPOINT.findall(l))

    df = pd.DataFrame(data, columns=['X Coordinate', 'Y Coordinate', 'Parameter 1', 'Parameter 2'])
    >>> df
    X Coordinate Y Coordinate Parameter 1 Parameter 2
    0 2.744596610E-02 1.247197202E+00 7.121462841E-03 2.467938066E-05
    1 2.732558411E-02 1.242196291E+00 1.365028508E-02 6.262368697E-05
    2 2.713870635E-02 1.227254209E+00 1.958976965E-03 -3.179617352E-06

    关于python - 读取带有负数的文本文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68058307/

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