Mam słownika:Python: Napisanie słownika do pliku CSV z jednej linii dla każdego klucza: „value”
mydict = {key1: value_a, key2: value_b, key3: value_c}
Chcę zapisać dane do pliku dict.csv w tym stylu:
key1: value_a
key2: value_b
key3: value_c
pisałem:
import csv
f = open('dict.csv','wb')
w = csv.DictWriter(f,mydict.keys())
w.writerow(mydict)
f.close()
Ale teraz mam wszystkie klucze w jednym rzędzie i wszystkie VALU es w następnym wierszu ..
Kiedy uda mi się napisać taki plik, chcę go również przeczytać z nowym słownikiem.
Aby wyjaśnić mój kod, słownik zawiera wartości i sygnały z tekstów i pól wyboru (przy użyciu wxpython). Chcę dodać przyciski "Zapisz ustawienia" i "Wczytaj ustawienia". Zapisz ustawienia należy zapisać słownik do pliku w wymieniony sposób (aby ułatwić użytkownikowi edytować plik csv bezpośrednio), załaduj ustawienia powinny odczytać z pliku i zaktualizować textctrls i pola wyboru.
czy możesz podać lepszy przykład tego, co chcesz wydrukować? "Styl", który masz powyżej, nie jest CSV. szukasz klucza key1, value_a [linebreak] key2, value_b [linebreak] key3, value_c'? – tkone
Innym podejściem jest użycie 'repr()' do napisania dyktanda, a następnie eval napisu, kiedy go czytasz. Spójrz na to [stary wpis SO] (http://stackoverflow.com/questions/1436703/difference- between-str-and-repr-in-python) do dyskusji na temat 'str()' vs. 'repr()' oraz [the docs] (http://docs.python.org/library/functions.html #repr). –
Oprócz mojej odpowiedzi poniżej, jeśli wolisz coś bardziej wyrafinowanego niż zwykły plik CSV, możesz chcieć sprawdzić moduł 'ConfigParser'. –