簡體   English   中英

熊貓讀取“分隔”文件

[英]Pandas read “delimited” file

在此輸入圖像描述

嗨,我有這樣的.txt文件,第一列代表索引,后面是一對“()”內的三列代表x,y和z坐標。

我想將此文件的前四列加載到pandas Dataframe。 然而,我發現這很難,因為分隔符首先是“”然后“(”並且在括號內有“,”。

有人能給我一些如何處理這種情況的暗示嗎?

謝謝! 肖恩

可以編寫自己的解析器。 就像是:

碼:

def parse_my_file(filename):
    with open(filename) as f:
        for line in f:
            yield [x.strip(',()')
                   for x in re.split(r'\s+', line.strip())[:4]]

測試代碼:

df = pd.DataFrame(parse_my_file('file1'))
print(df)

結果:

    0       1       2  3
0  g1     -16       0  0
1  gr      10       0  0
2  D1  -6.858  2.7432  0
3  D2  -2.286  2.7432  0

我輸入前四行時創建了此數據文件。

您可以使用regex pattern作為CSV的分隔符。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

像這樣。

import pandas as pd

df = pd.read_csv('Initial_Coordinate.txt', sep=r'[()]', header=None)
print(df)

但是,不是創建復雜的分隔符,最好將其修復為簡單的分隔符,然后使用pandas讀取它。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM