我有下一個 csv 檔案:
Summary,Issue key,Issue id,Issue Type,Status,Project key,Attachment,Attachment.1,Attachment.2,Attachment.3,Attachment.4,Attachment.5
Find issue,IS-11,576,Task,Solved,One-1,10/28/21 11:49;Olga_Sokolova;SALUPRJBKK-1663_2021-10-28 14-38-01-372.mp4;file://SALUPRJBKK/SALUPRJBKK-1663/SALUPRJBKK-1663_2021-10-28 14-38-01-372.mp4
我需要選擇所有附件值并將檔案名中的“空格”替換為“ ”。主要問題是跳過附件值中日期之后的第一個“空格”,并獲取所有附件值。我嘗試使用標準 csv 閱讀器、pandas 等,但我只能得到列的名稱
import pandas as pd
data = pd.read_csv("SALUPRJBKK_new_10.csv")
for i in data:
if "Attachment" in i:
print(i)
uj5u.com熱心網友回復:
使用“ ”選擇“附件”列filter和replace所有空格,然后update您的資料框就位:
df.update(df.filter(like='Attachment').replace(' ', ' ', regex=True))
如果您需要轉義 HTML 物體,我的建議是quote從urllib模塊使用:
from urllib.parse import quote
df.update(df.filter(like='Attachment').fillna('').applymap(quote))
更新
嘗試:
out = df.filter(like='Attachment').unstack().str.split(';').explode()
out = out.where(~(out.str.startswith('file://').fillna(False)),
out.str.replace(' ', ' '))
df.update(out.dropna().groupby(level=[0, 1]).apply(';'.join).unstack(0))
uj5u.com熱心網友回復:
考慮指定分隔符:
data = pd.read_csv("SALUPRJBKK_new_10.csv", sep=",")
注意:在您的示例“,”或“;”中混合使用了分隔符
如果您只想訪問“附件”,請執行以下操作:
data["Attachment"]
uj5u.com熱心網友回復:
我認為你需要一個 url 編碼。
試試這個:
import urllib.parse
query = 'Hellóóó W r l d @ Pyt@@ h on.mp4'
newUrl = urllib.parse.quote(query)
print(newUrl)
現在編碼結果:
Hellóóó W r%20l d%20%40 Pyt%40%40 h on.mp4
文本或 url 被編碼并更改字串中的所有特殊字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/384388.html
上一篇:重命名資料框的行和列
下一篇:使用loc與僅使用方括號內的性能
