簡體   English   中英

在python中編輯一行文本時,如何避免在引號中編輯文本的特定部分?

[英]While editing a line of text in python, how do i avoid editing a specific part of text in quotation marks?

我有一個文件(一個 Apache 日志文件)需要轉換為 csv。 所以空格必須用逗號代替。 但是其中一列的字段之間有空格。 但該特定字段用引號括起來。 我不想刪除引號之間的文本中的空格。 我該怎么做?

日志中的行示例:

127.0.0.1 - - [17/8/2018:12:57:39 0530] “GET / mysoft-webappp /應用/ getNotifications數= 5&_ = 1534489899492&_hkstd = 52bf9c52845cecc32af837db8f8e7385c71b229f67f4ef7c42e9ed5c3c14bMTUzNDQ5MDg1OTYzNg == HTTP / 1.1?” 200 46 ECC40515BD09C8C2FE6FB9ECCFFB40 127.0.0.1

您可以使用pandas讀取它,它會自動處理這些情況(您甚至可以進一步手動調整其導入行為):

import pandas as pd
df = pd.read_table('/wherever/file/may/roam/yourfile.txt', sep=' ')
df.to_csv('/wherever/file/shall/roam/yourfile.csv')

sep=' '將單個空格定義為源文件中的分隔符
df.to_csv將目標文件保存為 csv,默認以逗號為分隔符,不加引號

暫無
暫無

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

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