txt文件python中的热跳过特殊字符
我在读取txt文件时遇到一些问题。我要做的是读取文件(大约360个)并绘制一个图。除了在我的文件中有一个特殊的字符,例如us:,否则一切都正常。当我的读取函数发现该字符时,它崩溃。有没有办法跳过它?我的代码:txt文件python中的热跳过特殊字符,python,character,skip,Python,Character,Skip,我在读取txt文件时遇到一些问题。我要做的是读取文件(大约360个)并绘制一个图。除了在我的文件中有一个特殊的字符,例如us:,否则一切都正常。当我的读取函数发现该字符时,它崩溃。有没有办法跳过它?我的代码: import os import matplotlib.pyplot as plt import numpy as np i = 10 j = 0 X = [] Y = [] Z = [] k = 0 A = np.zeros([360,719]) for i in range(10,
import os
import matplotlib.pyplot as plt
import numpy as np
i = 10
j = 0
X = []
Y = []
Z = []
k = 0
A = np.zeros([360,719])
for i in range(10,360,10):
X = []
Y = []
if len(str(i)) == 2:
data = open(dir + '\\150317_ScPONd_0%s_radio.txt'%i, 'r')
else:
data = open(dir + '\\150317_ScPONd_%s_radio.txt'%i, 'r')
z = data.readlines()
data.close()
for line in z:
if not line.startswith('$'):
data_2 = line.split('\t')
X.append(data_2[0])
Y.append(data_2[1])
A[j,:] = X
A[(j+1),:] = Y
下面是我的文件的外观:
有没有办法跳过那些“$”行?对不起,那张照片,我不知道怎样贴得更好 Thaks to@user1753919我找到了答案。如果有人仍然对此感兴趣,以下是工作代码:
for i in range(10,360,10):
X = []
Y = []
if len(str(i)) == 2:
data = np.genfromtxt(dir + '\\150317_ScPONd_0%s_radio.txt'%i,skip_header = 12)
else:
data = np.genfromtxt(dir + '\\150317_ScPONd_%s_radio.txt'%i,skip_header = 12)
for line in data:
X.append(line[0])
Y.append(line[1])
A[j,:] = X
A[(j+1),:] = Y
plt.plot(A[j,:],A[(j+1),:],label = '{} K'.format(i))
plt.hold
j = j+2
genfromtxt
太过分了
np.loadtxt(file, comments='$')
为什么不使用np.genfromtxt?如果line.startswith(“$”)==False:,您是否尝试过
?@whatstthepoint是的,我尝试过,但失败了。@user1753919非常感谢您,它很有效!我甚至不知道像genfromtxt这样的阅读选项。