Více

Automaticky měnit názvy polí

Automaticky měnit názvy polí


Mám tabulku atributů s více než 2500 poli. Asi 2 000 polí začíná názvem „All_txt_“ (např. „All_txt_Watermelon“).

Existuje způsob, jak automaticky odstranit tento „All_txt_“ ze všech názvů polí? (název by tedy byl „Meloun“). Nebo ví někdo, jak to udělat v Pythonu? Pracuji s verzí 10.1 a Změnit pole nástroj není volbou.


Moje metoda pro toto bylo použít mapování polí a funkce převodu tabulky na tabulku. Pomocí mapování polí můžete nastavit nová pole na základě názvů polí ve vstupní tabulce.

Následující odkaz obsahuje příklady tříd funkcí: http://resources.arcgis.com/en/help/main/10.1/index.html#//018z0000007p000000

Můj níže uvedený kód změní všechna pole vstupní tabulky začínající řetězcem „All_txt_“ na nový název. Například „All_txt_SomeName“ až „SomeName“.

import os import arcpy table = r "CESTA K VSTUPNÍ TABULCE" new_tb = r "CESTA K VÝSTUPNÍ TABULCE" field_mappings = arcpy.FieldMappings () # Vytvořit nový objekt mapování pole # Procházejte poli. Pro každé pole vytvořte odpovídající objekt FieldMap. # Pokud název začíná řetězcem „ALL_txt_“, vytvořte nový název. # Poznámka: „FID a„ Shape “jsou přeskočeny pro pole v arcpy.ListFields (tabulka): pokud ne field.name ==„ FID “a ne field.name ==„ Shape “: old_name = field.name #Rename if nutné, pokud old_name.startswith ("All_txt_"): new_name = old_name.strip ("All_txt_") else: new_name = old_name #Create new FieldMap object new_f = arcpy.FieldMap () new_f.addInputField (tabulka, old_name) # Určete vstup pole k použití # Přejmenovat výstupní pole new_f_name = new_f.outputField new_f_name.name = new_name new_f_name.aliasName = new_name new_f.outputField = new_f_name # Přidat pole do objektu FieldMappings field_mappings.addFieldMap (new_f) #Convertings pomocí vaší vytvořené tabulky Fieldc pomocí vaší tabulky arc. TableToTable_conversion (tabulka, os.path.dirname (new_tb), os.path.basename (new_tb), field_mapping = field_mappings)

Doufám, že to váš problém vyřeší!

(Chcete-li provést tento proces ve třídě prvků, zadejte vstup / výstup jako platné cesty třídy prvků a použijte FeatureClassToFeatureClass_conversion.)


Wikipedia: Konvence pojmenování (zeměpisné názvy)

Tato stránka popisuje konvence pro určování názvů článků Wikipedie o místech a pro použití názvů míst v článcích Wikipedie. Naše zásady pro názvy článků stanoví, že názvy článků by měly být vybírány pro běžného čtenáře, nikoli pro odborníky. Dodržováním moderního používání angličtiny se také vyhýbáme hádkám o tom, jaké místo měl by být volán, místo toho se ptát na méně spornou otázku, co to je je volala.


10 odpovědí 10

Přidání odpovědi pro Django 1.8+ (s nativními migracemi Django, spíše než na jih).

Proveďte migraci, která nejprve přidá vlastnost db_column a poté pole přejmenuje. Django chápe, že první je no-op (protože mění db_column, aby zůstal stejný), a že druhý je no-op (protože nedělá žádné změny schématu). Vlastně jsem prozkoumal protokol, abych zjistil, že nedošlo k žádným změnám schématu.

Django 2.0.9 (a dále) dokáže automaticky zjistit, zda bylo pole přejmenováno, a dává možnost přejmenovat místo mazat a vytvořit nové

(stejné práce pro Django 2.2)

Počáteční odpověď

Zveřejňování, pokud je pro někoho stále užitečné.

Pro Django 2.0 + jednoduše přejmenujte pole v modelu

Nyní spusťte python manage.py makemigrations Vygeneruje migraci s operacemi pro odstranění starého pole a přidání nového.

Pokračujte a změňte to na následující.

Nyní spusťte python manage.py migrate to přejmenuje sloupec v DB bez ztráty dat.

Je to docela snadné opravit. Migraci však budete muset upravit sami.

Místo přetažení a přidání sloupce použijte db.rename_column. Můžete jednoduše upravit migraci vytvořenou schématem - auto

Ve skutečnosti s Django 1.10, jen přejmenování pole v modelu a následné spuštění makemigrations, okamžitě identifikuje operaci (tj. Jedno pole zmizelo, jiné se objevilo místo něj):

Narazil jsem na tuto situaci. Chtěl jsem změnit názvy polí v modelu, ale zachovat stejné názvy sloupců.

Způsob, jakým jsem to udělal, je udělat schemamigration --empty [aplikace] [nějaké dobré jméno pro migraci]. Problém je v tom, že pokud jde o jih, změna názvů polí v modelu je změna že to musí zvládnout. Je tedy třeba vytvořit migraci. Víme však, že na straně databáze není třeba nic dělat. Prázdná migrace se tak vyhne zbytečným operacím s databází a přesto uspokojí potřebu Jih zvládnout to, co považuje za změnu.

Všimněte si, že pokud používáte data načítání nebo používáte testovací zařízení Django (které používá data načítání v zákulisí). Chcete-li použít nový název pole, budete muset zařízení aktualizovat, protože zařízení jsou založena na názvech polí modelu, nikoli na názvech polí databáze.

V případech, kdy se názvy sloupců v databázi mění, nikdy nedoporučuji použití db.rename_column pro migraci sloupců. Používám metodu popsanou sjh v této odpovědi:

Přidal jsem nový sloupec jako jednu schemamigraci, poté jsem vytvořil datamigraci pro přesun hodnot do nového pole, pak druhou schemamigraci k odstranění starého sloupce


Nechte Access, aby se postaral o změny názvu za vás

Někdy musíte změnit název prvku ve své databázi Access - a jak vyplývá z toho, všechny ostatní instance tohoto názvu. Nenechte si ujít jediný výskyt s tímto tipem od Mary Ann Richardson.

Pokud potřebujete změnit název tabulky, pole, ovládacího prvku, formuláře, dotazu nebo libovolného objektu v databázi Accessu, nemusíte procházet databázi a ručně měnit každou instanci tohoto názvu - nechte Access udělat to pro tebe.

Předpokládejme například, že vaše databáze obsahuje formulář s poli vázanými na tabulku a že v této tabulce změníte názvy polí. Chcete-li, aby Access tyto změny názvu šířil do formuláře, proveďte před provedením těchto změn tyto kroky:

  1. Přejít na Nástroje | Možnosti a klikněte na kartu Obecné.
  2. Na kartě Obecné klepněte v části Název automatických oprav a klepnutím zaškrtněte políčka Sledovat informace o automatických opravách názvů a provádět automatické opravy názvů.
  3. Klikněte na OK.

Chcete-li aktivovat možnost NameAutoCorrect v aplikaci Access 2007, postupujte takto:

  1. Klikněte na tlačítko Office a poté na tlačítko Možnosti přístupu.
  2. V levém sloupci vyberte možnost Aktuální databáze.
  3. Přejděte na Možnosti automatických názvů a poté klepnutím zaškrtněte políčka Sledovat informace o automatických opravách názvu a Provádět automatické opravy názvů.
  4. Klikněte na OK.

Když nyní otevřete formulář, Access vyhledá všechny objekty, na kterých formulář závisí, aby zjistil, zda existují nějaké nesrovnalosti v názvech relativních objektů, a podle toho provede změny.

Všimněte si, že automatická oprava názvů nebude šířit změny provedené v objektech v projektech Access, kódu SQL, odkazech v modulech VBA, názvech polí v propojených tabulkách, replikovaných databázích nebo makrech použitých pro objekty panelu nástrojů a nabídek.

Chybí vám tip na přístup?

Podívejte se do archivu Microsoft Access a sledujte další tipy pro Access.

Pomozte uživatelům zvýšit produktivitu automatickým přihlášením k bezplatnému zpravodaji sady Microsoft Office Suite společnosti TechRepublic, který obsahuje tipy pro Word, Excel a Access, vydávaný každou středu.


4 odpovědi 4

Problém je v tom, že při vytváření sloupce je název, který zadáte, pouze konstantní řetězec. SharePoint neprovádí překlad na základě známých slov. Internacionalizace je založena na zdrojových souborech.

A i když jsem použil zdrojové řetězce s vlastními definicemi seznamů, nebyl jsem si jistý, jestli budou fungovat na seznamech a sloupcích vytvořených v prohlížeči. Takže zkusil rychlý test. Popadl jsem zdrojový řetězec ($ Resources: core, camlid2), šel do Nastavení seznamu seznamu, vybral sloupec, vložil řetězec prostředků do pole Název sloupce a klikl na OK. Jistě, když jsem se vrátil na stránku Nastavení seznamu, název sloupce se změnil na „Tělo“.

Tady jsou kroky, které bych podnikl při vytváření sloupců s mezinárodním dosahem prostřednictvím prohlížeče:


4 odpovědi 4

  1. Otevřete stránku AllItems.aspx pro konkrétní seznam.
  2. Vyhledejte značku & ltViewFields & gt
  3. Položka seznamu LinkToItem = "PRAVDA" na kterýkoli sloupec, který chcete propojit:

Pokud to zkoušíte pro SharePoint 2013, změňte „LinkToItem“ na „linkToItem“

Můžete použít vlastnosti LinkToItem, LinkToItemAllowed a ListItemMenu SPField. Pokud chcete, aby pole zobrazovalo odkaz na zobrazovací formulář položky, musíte nastavit vlastnost LinkToItem na true a vlastnost LinkToItemAllowed na Povoleno. Pokud chcete do pole přidat místní nabídku, musíte nastavit ListItemMenu na hodnotu true.

Vyzkoušíte [toto řešení] [1]? V tomto řešení byste měli upravit deklaraci pole v pohledu prostřednictvím SharePoint Designer.

Můžete skrýt "Titul" nejprve přejděte do Nastavení seznamu & gt Pokročilé nastavení & gt Typy obsahu & gt nastavit Povolit správu typů obsahu na Ano. Tím se otevře Typy obsahu v Nastavení seznamu.

Pak se vraťte zpět do Nastavení seznamu & Typy obsahu & gt, klikněte na Název a nastavte jej na Skryté.

Chcete-li nyní propojit položku s konkrétním sloupcem / polem, musíte otevřít seznam v SPD a vyhledat následující značky:

Řekněme, že chcete, aby se položka otevřela po kliknutí na „Pole 1“. Stačí na něj přidat značku LinkToItem = ”TRUE”:


Datové typy v tabulce

Pojďme zde podrobně porozumět každému datovému typu Tableau.

1. Řetězcový datový typ

Řetězcový datový typ se skládá z nula nebo více znaků, což znamená, že se jedná o textový datový typ. Hodnota je považována za řetězec, když jsou znaky uzavřeny do jednoduché nebo dvojité uvozovky (známé jako jednoduchá nebo dvojitá obrácená čárka). Například datová hodnota řetězce může být „DataFlair“ nebo „DataFlair Indore“ atd. Můžete také začlenit dvojité obrácené čárky do řetězce, například „Raj říká Hello“ který se zobrazí jako "Raj říká Hello".

Řetězcový datový typ je dále rozdělen do dvou kategorií Char a Varchar.

  • Char řetězec typ: Hodnoty tohoto datového typu mají pevnou délku. Paměť odpovídající této pevné délce je přidělena hodnotám typu char řetězce v Tableau. Pokud se pokusíte zadat hodnotu řetězce s délkou větší než pevná délka, systém zobrazí chybu. Tento datový typ obecně ukládá alfanumerické datové hodnoty.
  • Typ řetězce Varchar: Typ řetězce Varchar znamená proměnnou délku znaků, kde délka znaků, které mají být zadány do řetězce, není pevná nebo předdefinovaná. Můžete zadat libovolný počet znaků bez omezení přidělení paměti. Tento typ řetězce může mít také alfanumerické datové hodnoty.

2. Číselný datový typ

Hodnoty číselných datových typů mohou být buď celočíselný typ nebo plovoucí typ. Většina polí s číselným datovým typem je celočíselného typu, protože s plovoucími hodnotami se uživatelé potýkají s problémy s akumulací desetinné čárky po určitém limitu. Plovoucí hodnoty lze však také snadno použít ve výpočtech po zaokrouhlení nahoru na odpovídající celá čísla. Funkce známá jako Kolo funkce se používá pro zaokrouhlování pohyblivých hodnot nahoru.

3. Datové typy data a času

V Tableau jsou přijímány všechny formáty data a času, jako dd-mm-rr, dd-mm-rrrr nebo mm-dd-rrrr atd. Některá pole mohou obsahovat pouze hodnotu data nebo může existovat datum spolu s časem (jako časové razítko). Hodnoty časových dat mohou být desetiletí, rok, čtvrtletí, měsíc, den, hodina, minuty, sekundy atd. Také pokud chcete přidat hodnotu data ve formě řetězcových znaků, přidejte před ni znak # (například , 22. ledna 2020). Tableau registruje hodnoty data a času do dvou typů dat, které jsou datum datový typ a Datum a čas zesilovače datová hodnota.

4. Booleovský datový typ

Hodnoty booleovského datového typu jsou výsledkem relačních výpočtů. Proto jsou logické hodnoty True a False známé jako logické hodnoty. Někdy je výsledek relačního výpočtu neznámý a nejasný. Tyto hodnoty jsou zobrazeny jako hodnoty Null.

5. Geografický datový typ

Hodnoty geografických dat jsou všechny, které se používají na mapě. Hodnoty, jako je název země, název státu, město, region, poštovní směrovací čísla atd., Patří do geografického datového typu. Pole tohoto datového typu jsou označena ikonou zeměkoule.

6. Klastr nebo smíšený datový typ

Někdy se pole nemusí skládat z jediného datového typu a má spíše směs datových typů. Toto se také označuje jako hodnoty skupiny klastrů nebo hodnoty smíšených dat. V takových scénářích můžete buď ručně zpracovat taková pole tak, že do sloupce oddělíte hodnoty patřící k různým datovým typům, nebo to necháte zpracovat Tableau.

Změna typů dat v tabulce

V ideálním případě Tableau detekuje a přiřadí příslušné datové typy ke všem existujícím polím v datové sadě během nahrávání nových dat. Při práci v Tableau však můžete provádět změny v datových typech v mnoha fázích. Tři z nich jsou uvedeny níže:

1. Změna datového typu pole na stránce Zdroj dat

Chcete-li změnit datový typ pole z Zdroj dat klikněte na ikonu datového typu daného pole. Zobrazí se rozevírací seznam, ze kterého můžete vybrat nový datový typ a přiřadit jej k hodnotám daného pole.

2. Změna datového typu pole v podokně Data

Jakmile se datová sada nahraje na tablo, základní datová pole se zobrazí v Data podokno listu Tableau. Odtud můžeme také změnit datový typ pole. Chcete-li to provést, klikněte na ikonu datového typu pole a ze seznamu, který se otevře, vyberte nový datový typ pro hodnoty daného pole.

3. Změna datového typu pole v zobrazení

Další způsob, jak změnit výchozí datový typ pole, je z Pohled. Zde klikněte pravým tlačítkem na pole a poté vyberte Změnit datový typ z rozevíracího seznamu. Tím se dále otevře seznam datových typů, ze kterých můžete vybrat požadovaný datový typ, jak je znázorněno na obrázku níže.

Smíšené datové typy ze souborů v tablo

Často časy, kdy importujeme data ze souborů jako MS Excel, Access, CSV, atd. sloupce mají smíšené datové typy. Datové hodnoty se smíšenými datovými typy mohou obsahovat čísla a texty společně nebo data a čísla. Obvykle, kdykoli se v Tableau nahrají nová data, mapuje příslušný datový typ pro hodnoty v každém sloupci a přiřadí je ke sloupci. Jedná se o jednoduchý proces, když sloupec obsahuje hodnoty jednoho datového typu. V takovém případě je typickým datovým nebo textovým sloupcem pole dimenze a číselný sloupec měrným polem.

Ale když má sloupec ve svých hodnotách více než jeden datový typ, pravidla mapování jsou pro každý typ souboru trochu specifická.

  • O datovém typu v aplikaci Excel rozhoduje datový typ (datum, text, číslo, logická hodnota) prvních 10 000 řádků.
  • V souboru CSV je ID datového typu rozhodnuto datovým typem prvních 1024 řádků.

Pomocí SQL Server Management Studio

Přejmenování sloupce pomocí Průzkumníka objektů

  1. v Průzkumník objektů, připojit k instanci Database Engine.
  2. v Průzkumník objektů, klikněte pravým tlačítkem na tabulku, ve které chcete přejmenovat sloupce, a vyberte Přejmenovat.
  3. Zadejte nový název sloupce.

Přejmenování sloupce pomocí Návrháře tabulek

  1. v Průzkumník objektů, klepněte pravým tlačítkem myši na tabulku, kterou chcete přejmenovat sloupce, a vyberte Design.
  2. Pod Název sloupce, vyberte jméno, které chcete změnit, a zadejte nové.
  3. Na Soubor v nabídce klikněte na Uložitnázev tabulky.

Můžete také změnit název sloupce v Vlastnosti sloupce záložka. Vyberte sloupec, jehož název chcete změnit, a zadejte novou hodnotu název.


Uspořádejte sloupce v pohledu

Můžete změnit pořadí sloupců, které jsou již zahrnuty ve vašem zobrazení.

Vyberte sloupec, který chcete přesunout.

Přetáhněte sloupec na místo, kam ho chcete přesunout.

Když podržíte sloupec nad povolenou pozicí, uvidíte vizuální indikátor.

Sloupce můžete také přeskupit pomocí klávesových zkratek Ctrl + X a Ctrl + V.


Odstraňte zdroj dat nebo propojenou tabulku

Možná budete chtít odstranit zdroj dat nebo propojenou tabulku, protože již nejsou potřeba, a odstranit přehled Propojit správce tabulky dialogové okno.

Vybrat Externí data & gt Správce propojené tabulky.

V Správce propojené tabulky V dialogovém okně vyberte jeden nebo více zdrojů dat nebo propojené tabulky.

Možná budete muset rozbalit (+) položky v souboru Zdroj dat sloupec.

Po zobrazení výzvy k potvrzení vyberte Ano.

Odstranění propojené tabulky odstraní pouze informace použité k otevření tabulky ve zdroji dat, nikoli samotnou tabulku.


Podívejte se na video: eZpráva - 3. Nastavení klienta