簡體   English   中英

Python 將帶有特殊字符的.txt文件轉換為dataframe

[英]Python convert a .txt file with special characters into dataframe

我有一個“.txt”文件,我想導入,將其轉換為 dataframe。 我遇到了問題。

我的代碼:

#The raw.txt file content: 
#A& B & C & D & E
#foo& 13.52 & 333.2 & 4504.4 & 0
#1 taw & 13.49 & 314.6 & 4.6 & 1.29
#2 ewq & 35.44 & 4.2 & 5.2 & 3.06
#3 asd & 13.41 & 4.1 & 6.8 & 5.04
#4 er & 13.37 & 230.0 & 7.1 & 7.07
#5 we & 13.33 & 199.7 & 8.9 & 9.12
#6 wed & 13.27 & 169.4 & 8.6 & 11.17

import pandas as pd
df = pd.read_csv('raw.txt', delimiter = "\n",sep=" & ")

print(df.columns)

Index(['A& B & C & D & E'], dtype='object')

它並沒有完全轉換成 dataframe。 它無法識別列。 只需將它們全部讀取為一列。

delimitersep實際上是別名。 您可以使用其中任何一個,並使用skiprows=1忽略第一行:

pd.read_csv('filename.txt', sep='\s*&\s*', skiprows=1)

Output:

       #A      B      C       D      E
0    #foo  13.52  333.2  4504.4   0.00
1  #1 taw  13.49  314.6     4.6   1.29
2  #2 ewq  35.44    4.2     5.2   3.06
3  #3 asd  13.41    4.1     6.8   5.04
4   #4 er  13.37  230.0     7.1   7.07
5   #5 we  13.33  199.7     8.9   9.12
6  #6 wed  13.27  169.4     8.6  11.17

當使用pd.read_csv()時, delimitersep的別名,你可以在這里閱讀。 因此,您沒有為文件選擇正確的分隔符。

您可以使用以下內容:

pd.read_csv("raw.txt", sep="&")

如果您使用sep=" & " ,則文件的第二行將引發錯誤,因為沒有足夠的列,因為您在開頭缺少空格。

這應該有效。

暫無
暫無

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

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