我已經將一個長 csv 檔案匯入到我的 python 檔案中的串列中,并試圖將其格式化為 splunk 可以讀取每一行的方式
節點,建筑,AP,某事
而現在的示例行看起來像
mkc2-rap,Top > RAPs > Rhodes Node > 7240 - Rhodes Hall
我想做的是洗掉空格并用“,”替換所有“>”和“-”
這是我現在的代碼'''
import csv
import re
with open('airwavenorth.csv', newline='') as f:
reader = csv.reader(f)
airwavenorth = list(reader)
for i in range(len(airwavenorth)):
if airwave[i] == '>':
airwavenorth[i] = ','
uj5u.com熱心網友回復:
它可以通過使用 .replace() 來完成,首先您必須將串列轉換為字串。
list1 = [1,2,3]
str1 = ''.join(str(e) for e in list1)
然后簡單地使用
l = "mkc2-rap,Top > RAPs > Rhodes Node > 7240 - Rhodes Hall"
l = l.replace(">", ",")
l = l.replace("-", ",")
print(l)
#mkc2,rap,Top , RAPs , Rhodes Node , 7240 , Rhodes Hall
uj5u.com熱心網友回復:
import re
sample = ['mkc2-rap', 'Top > RAPs > Rhodes Node > 7240 - Rhodes Hall']
for i in range(len(sample)):
sample[i] = re.sub('>|-', ',', sample[i])
sample[i] = re.sub(' ', '', sample[i])
>>> print(sample)
>>> ['mkc2,rap', 'Top,RAPs,RhodesNode,7240,RhodesHall']
uj5u.com熱心網友回復:
import csv
# Read in the CSV file
with open('test.csv', 'r') as csvfile:
# Split the data on commas
data = csv.reader(csvfile, delimiter='\n')
# Create an empty list to hold the data
data_list = []
# Loop through the data
for row in data:
# Append the data to the list
data_list.append(row)
# Print the list
# print(data_list[0])
# print(type(data_list[0]))
# covert list to string
for i in range(len(data_list)):
data_list[i] = str(data_list[i])
new_list = []
for i in range(len(data_list)):
# remove space
x = data_list[i].replace(' ', '')
# remove brackets
x = x.replace('>', ',')
# remove -
x = x.replace('-', ',')
# print(x)
new_list.append(x)
print("Before: ", data_list[0])
print("After: ", new_list[0])
>>> Before: ['mkc2-rap,Top > RAPs > Rhodes Node > 7240 - Rhodes Hall']
>>> After: ['mkc2,rap,Top,RAPs,RhodesNode,7240,RhodesHall']
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/494582.html
上一篇:從CSV中的行中洗掉非整數
下一篇:C#從檔案流下載檔案