簡體   English   中英

在.CSV中的一列中刪除空間-Python / Pandas

[英]Remove space in one column in .CSV - Python/Pandas

這是我的“ new_plates.csv”的樣子-

TT59 TRI,"Black,Thomas,Mr"
HY63 YOJ,"Smith,Simon,Mr"
YY36 DPM,"Paul & Clare,Mr & Mrs"

這是Python代碼-我首先將“ plates.txt”文件轉換為“ plates.csv”文件,然后將未使用的列過濾到“ new_plates.csv”並刪除舊的“ plates.csv”。 這很好,但是我想從車牌號中刪除空格,但要保留名稱。 什么不起作用。

import os
import subprocess
import pandas
import pandas as pd

subprocess.call("sudo csvformat -t /home/pi/scripts/plates.txt >> /home/pi/scripts/plates.csv", shell=True)


f=pd.read_csv("plates.csv")

keep_col = [11,13]
new_f = f[keep_col]
new_f.to_csv("new_plates.csv", index=False)

new_f[1]= new_f[1].str.replace(" ", "")

subprocess.call("sudo rm /home/pi/scripts/plates.csv", shell=True)

print(new_f)

無法弄清楚,如何正確編寫此行

new_f[1]= new_f[1].str.replace(" ", "")

我想看起來像這樣-不含空格的車牌號

TT59TRI,"Black,Thomas,Mr"
HY63YOJ,"Smith,Simon,Mr"
YY36DPM,"Paul & Clare,Mr & Mrs"

謝謝

使用str.split().apply("".join)

例如:

df=pd.read_csv("plates.csv", names=["plates", "name"])
df["plates"] = df["plates"].str.split().apply("".join)
print(df)

輸出:

    plates                   name
0  TT59TRI        Black,Thomas,Mr
1  HY63YOJ         Smith,Simon,Mr
2  YY36DPM  Paul & Clare,Mr & Mrs

首先,由於熊貓也可以處理txt,因此無需將txt轉換為csv。 第二,

new_f[1] = [plate.replace(" ", "") for plate in new_f[1]]

暫無
暫無

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

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