1

フィールド名を含むスプレッドシートがあります。

['名前'、'職業'、'会社'、'住所'、'address_2'、'都市'、'都道府県'、'郵便番号'、'電話'、'ファックス'、'電子メール'、'ウェブサイト'、'説明']

このスプレッドシートに、より少ないフィールド名を含むデータの他のスプレッドシートを追加したいと考えています (ただし、他のすべてのフィールド名はこのスプレッドシートに含まれています)。

奇妙なエラーが発生します:

Samuel-Finegolds-MacBook-Pro:~ samuelfinegold$ /var/folders/jv/9_sy0bn10mbdft1bk9t14qz40000gn/T/Cleanup\ At\ Startup/merge-395698810.980.py.command ; exit;
['name', 'occupation', 'company', 'address', 'address_2', 'city', 'state', 'zip', 'phone,fax', 'email', 'website', 'description']
Traceback (most recent call last):
  File "/Users/samuelfinegold/Documents/noodle/merge.py", line 14, in <module>
    gc_all_dict.writerow(row)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/csv.py", line 148, in writerow
    return self.writer.writerow(self._dict_to_list(rowdict))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/csv.py", line 144, in _dict_to_list
    ", ".join(wrong_fields))
TypeError: sequence item 0: expected string, NoneType found
logout

[Process completed]

次を実行すると:

import csv

# compile master spreadsheet
with(open('gc_all.txt','w')) as gc_all:

    fieldnames = ['name', 'occupation', 'company', 'address', 'address_2','city', 'state', 'zip', 'phone,' 'fax', 'email', 'website', 'description']
    gc_all_dict = csv.DictWriter(gc_all, fieldnames = fieldnames, delimiter = '\t')
    print gc_all_dict.fieldnames

    with(open('/Users/samuelfinegold/Documents/noodle/aicep/aicep_scrape_output.txt', 'rU')) as aicep:
        aicep_dict = csv.DictReader(aicep, fieldnames = fieldnames, delimiter = '\t')
        for row in aicep_dict:
#             print row
            gc_all_dict.writerow(row)


    for row in gc_all:
        print row

偽のデータ:

name    occupation  company address address_2   city    state   zip phone   fax email   website description
Rob Er      Step Up 123 Road Dr     New York    NY  10011   1234567891  1234567891  a@b.com www.stepUp.com  A great counselor
Bob B. Bob      For Your Rights 12 2nd Ave      San Francisco   CA  94109   1234567891  1234567891  c@d.com     
Snob Job        Marley Inc. 12 1st Ave      Denver  CO  80231   1234567891  1234567891  g@h.com     What a counselor!
4

1 に答える 1