Die .extend-Methode der Python-Liste unterteilt die Zeichenfolge in Zeichen [Duplikat]Python

Python-Programme
Anonymous
 Die .extend-Methode der Python-Liste unterteilt die Zeichenfolge in Zeichen [Duplikat]

Post by Anonymous »

Ich lese zwei Spalten mit Werten Zeile für Zeile aus einer CSV-Datei, was eine Liste von Zeileneinträgen ergibt, die aus zwei Zeichenfolgen bestehen (so etwas wie ['cat1', 'dog1'])
Wenn ich über alle von mir extrahierten Zeilen iteriere, versuche ich, alle „Katzen“ in eine Liste und „Hunde“ in eine andere einzufügen, etwa so:

Code: Select all

for row in csv_file_entries:
catlist.extend(row[0])
doglist.extend(row[1])
Ich gehe davon aus, dass die Hundeliste wie folgt lautet:

Code: Select all

['dog1', 'dog2', 'dog3', 'dog4', ..., dogN]
aber stattdessen bekomme ich

Code: Select all

['d', 'o', 'g', '1', ' ', 'c', 'a', 't', '1', ' ', ...]
Ich vermute, wenn ich herausfinde, warum die Zeichen die Listenelemente und nicht die Zeichenfolgen sind, werde ich auch herausfinden, warum die Katzen und Hunde in derselben Liste sind, obwohl die Zeilenelemente 0 Hunde und Zeilenelemente 1 Katzen sind.
Mein tatsächlicher Code ist unten:

Code: Select all

# get csv file containing digitized EOT data
# first column is day of year, second is EOT minutes
# taken from US Naval Obs site and digitized with web digitizer program
fname = 'C:\\time_calculator\\EOT.csv'
dtzd_DOY = dtzd_EOT = []
print("tarrtart", dtzd_DOY)
with open(fname, 'rt') as csvfile:
eot_entries = csv.reader(csvfile, delimiter=',')
#    print(eot_entries)
print("pooooty", dtzd_DOY, dtzd_EOT)
for row in eot_entries:
print(row, row[0], row[1])
thisDOY = row[0]
thisEOT = row[1]
print(thisDOY)
print(thisEOT)
#        thisEOT = "heychittyfgfgfttrgrtfgrt"
dtzd_DOY.extend(thisDOY)
dtzd_EOT.extend(thisEOT)
print(dtzd_DOY, dtzd_EOT)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post