我有一个带有一些字符串的表,但是有一些空变量。因此,在这些空白之后,我无法得到特定的行。我的表看起来像(连字符在实表中为空白):
1 2 3 4 5-1-
B 12 2--3 7-2克
C--- 12 -2---1
因此,我想将列放入列表中,如
list1=1 2-
list2=2 - 12
list3=3 --
list4=5 7-
表5=
这是我的密码:
from astroquery.simbad import Simbad
import astropy.coordinates as coord
from astropy import units as u
from astropy.coordinates import SkyCoord
import pandas as pd
import astropy.units as u
from astropy import coordinates
column_names = ["#paper", "Object", "RA","Ra2","DEC","Dec2"]
data=pd.read_csv("jwebb.tsv", sep = '\t', names=column_names)
STARS=data.Object.to_list()
RA=data.RA.to_list()
DEC=data.DEC.to_list()
"""RA2=
DEC2="""
POS = [i+' '+k for i, k in zip(RA,DEC)]
customSimbad = Simbad()
customSimbad.add_votable_fields('flux(V)','flux(U)','flux(B)','flux(R)','flux(I)','flux(J)','flux(H)','flux(K)','flux(u)','flux(g)','flux(r)','flux(i)','flux(z)')
customSimbad.get_votable_fields()
onames=[]
mag1=[]
mag2=[]
mag3=[]
mag4=[]
mag5=[]
mag6=[]
mag7=[]
mag8=[]
mag9=[]
mag10=[]
mag11=[]
mag12=[]
mag13=[]
rad1='0.001s'
rad2='0.01s'
rad3='.1s'
for i in range(len(RA)):
result_table = customSimbad.query_region(coord.SkyCoord(ra=RA[i], dec=DEC[i], unit=(u.hourangle, u.deg)), radius=rad1)
if result_table is None:
result_table = customSimbad.query_region(coord.SkyCoord(ra=RA[i], dec=DEC[i], unit=(u.hourangle, u.deg)), radius=rad2)
if result_table is None:
result_table = customSimbad.query_region(coord.SkyCoord(ra=RA[i], dec=DEC[i], unit=(u.hourangle, u.deg)), radius=rad3)
if result_table is None:
onames.append('none')
else:
onames.append(result_table[0][:])所以我想把特定的列放到mag1,mag2,mag3中。等等,如果表中没有值,我想将该值的0放入列表中。
发布于 2022-02-01 03:26:22
如果我明白的话,你就告诉我们:
a - 1 2 3 4 5 - 1 -
b 12 2 - - 3 7 - 2 g
c - - 12 - 2 - - - 1这实际上是:
a 1 2 3 4 5 1
b 12 2 3 7 2 g
c 12 2 1那我就会做:
data = 'a 1 2 3 4 5 1 \n\
b 12 2 3 7 2 g \n\
c 12 2 1 '
print (data) # Your raw space-separated data with empty fields as space.
print()
print(data.replace(' ', ' 0')) # Space-separated data with empty fiels as zero.输出:
a 1 2 3 4 5 1
b 12 2 3 7 2 g
c 12 2 1
a 0 1 2 3 4 5 0 1 0
b 12 2 0 0 3 7 0 2 g
c 0 0 12 0 2 0 0 0 1 所以问题仍然存在:你为什么要处理这个问题?只需在流程中上游设置一个默认值就可以了,因为即使这样做可能有效,但这是非常糟糕的做法。
https://stackoverflow.com/questions/70935182
复制相似问题