簡體   English   中英

如何使用自定義(多行)行終止符讀取文本文件?

[英]how to read a text file with a custom (multiline) line terminator?

我有一個像這樣的巨大文本文件

1,2,3,4,5$*$*$2,5,1,3,2$*$*$

其中$*$*$是行終止符(實際上這是必需的,因為所有類型的文本都可能包含在常規列中:換行符等)。

如何有效地解析txt文件並將其放入 Pandas 數據框中? pd.read_csv()只接受長度為 1 的行終止符......所以它在這里失敗。

我在這里尋找

1,2,3,4
2,5,1,3

謝謝!

也許你可以先解析它。 雖然我不知道任何 Pandas,但我設法讓它工作(我認為):

with open("your_text_file.txt") as f:
    s = f.read()
parts = s.split("$*$*$")

df = pd.DataFrame(columns=['ONE', 'TWO', 'THREE', 'FOUR', 'FIVE'])
for i, line in enumerate(parts):
    if line:
        df.loc[i] = line.split(",")

print(df)

用熊貓可以理解的終結符替換你的行終結符怎么樣?

from io import StringIO

s = '1,2,3,4,5$*$*$2,5,1,3,2$*$*$'
pd.read_csv(StringIO(s.replace('$*$*$', '\n')), header=None)

將返回

   0  1  2  3  4
0  1  2  3  4  5
1  2  5  1  3  2

暫無
暫無

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

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