簡體   English   中英

從 txt 文件中讀取 dataframe 時如何刪除“\t”字符

[英]How to remove "\t" character when reading dataframe from txt file

我有一個帶有 pandas 的小實驗室,所以我想從 txt 文件中導入數據。 我的數據如下:

account order   ext price
383080  10001   232.32
383080  10001   107.97
412290  10005   2679.36
412290  10005   286.02
383080  10001   235.83
412290  10005   3472.04
412290  10005   832.95
412290  10005   915.12
218895  10006   3061.12
218895  10006   518.65
218895  10006   216.90
218895  10006   -72.18

我編寫下面的代碼來創建 df:

import pandas as pd
import numpy as np
df = pd.read_csv('sale.txt', sep=" ")
df 

但是,我從 df 得到的內容包括“\t”字符。 從 txt 文件中導入數據后,您能幫忙將其刪除嗎?

這是我從 jupyter 實驗室看到的:

 account\torder\text    price
0   383080\t10001\t232.32   NaN
1   383080\t10001\t107.97   NaN
2   412290\t10005\t2679.36  NaN
3   412290\t10005\t286.02   NaN
4   383080\t10001\t235.83   NaN
5   412290\t10005\t3472.04  NaN
6   412290\t10005\t832.95   NaN
7   412290\t10005\t915.12   NaN
8   218895\t10006\t3061.12  NaN
9   218895\t10006\t518.65   NaN
10  218895\t10006\t216.90   NaN
11  218895\t10006\t-72.18   NaN

請試試

df = pd.read_csv('sale.txt', sep="\s+") 
  • sep=' '不起作用,因為 txt 字段由Tab分隔(這就是\t的意思)
  • 宇鵬的sep='\s+'也不起作用,因為ext price header 包含一個空格(這將為您提供一個價格的ext列和一個 NaN 的price列)

而是使用sep='\t'Tab分割:

df = pd.read_csv('sale.txt', sep='\t')
    account  order  ext price
0    383080  10001     232.32
1    383080  10001     107.97
2    412290  10005    2679.36
3    412290  10005     286.02
4    383080  10001     235.83
5    412290  10005    3472.04
6    412290  10005     832.95
7    412290  10005     915.12
8    218895  10006    3061.12
9    218895  10006     518.65
10   218895  10006     216.90
11   218895  10006     -72.18

暫無
暫無

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

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