Hoe dwing je Excel om alle kolommen van een CSV-bestand te citeren?
Excel plaatst alleen aanhalingstekens rond bepaalde velden, hoe dwing ik Excel om een CSV-bestand met aanhalingstekens rond elke kolom op te slaan?
Excel plaatst alleen aanhalingstekens rond bepaalde velden, hoe dwing ik Excel om een CSV-bestand met aanhalingstekens rond elke kolom op te slaan?
Als u het XLS bestand opent in LibreOffice of OpenOffice, dan slaat u op als….en kiest u voor Text CSV, dan wordt het genereren van een CSV-bestand dat ook aanhalingstekens als scheidingstekens bevat, toegestaan. Bijvoorbeeld “Smith”, “Pete”, “Canada”, “Jones”, “Mary”, “England”
Vink gewoon het vakje “Quote all text cells” aan:
Om ook numerieke velden te citeren, markeer uw celbereik en wijzig de celopmaak naar “text” voordat u deze opslaat.
Deze pagina heeft ook de oplossing die rechtstreeks uit de mond van het paard komt: http://support.microsoft.com/kb/291296/en-us
Als de link degradeert, is het onderwerp om te zoeken naar:
“Procedure voor het exporteren van een tekstbestand met zowel komma’s als citaten in Excel” en/of “Q291296”
tl;dr: gebruik hun macro
Ik heb deze eenvoudige oplossing gevonden:
"''"@"''"
(zie details hieronder) De string die u plakt is "''"@"''"
. Dit is een dubbele aanhalingstekens, enkele aanhalingstekens, dubbele aanhalingstekens, @-symbool, dubbele aanhalingstekens, enkele aanhalingstekens, dubbele aanhalingstekens.
Bewerkt voor Excel 2010 op basis van de gevonden informatie hier .
Markeer de cellen die u wilt toevoegen. Ga naar Formaat -> Cellen -> Custom Copy/Paste the following in het Type veld: \”@\” Klik op “oké” Wees blij dat je het niet allemaal met de hand hebt gedaan.
Van: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/ ](http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/)
Dit was het makkelijkste voor mij: Ik heb de spreadsheet in Access 2010 geïmporteerd en van daaruit geëxporteerd als een afgebakend tekstbestand. Gaf me de aanhalingstekens rond mijn velden. Duurt minder dan een minuut voor 42k rijen nu ik de stappen naar beneden heb.
Ik heb een ander werk gevonden waar de VBA Macro niet bij betrokken is, maar waar wel Notepad++ of een soortgelijke macro-gebaseerde tekstverwerker voor nodig is.
Exporteer je bestand als Tab-geperforeerde tekst en open vervolgens het geëxporteerde bestand binnen Notepad++. Vervang alle instanties van het ‘tab’ teken door de tekst “,” (d.w.z. letterlijk dubbel-quote, komma, dubbel-quote) en gebruik dan een andere macro om elke regel tekst te voorzien van een voorvoegsel en achtervoegsel met een dubbel-quote.
Een beetje hacky, maar ik vond het sneller dan een VBA-macro te laten werken.
"''"@"''"
(zie details hieronder) ' '
(herhaalde enkele aanhalingstekens) door "
(dubbele aanhalingstekens) ;
Als u Notepad++ gebruikt om aan het begin van elke regel aanhalingstekens toe te voegen, opent u het geëxporteerde csv-bestand, plaatst u de cursor op de 1e regel, 1e kolom, en klikt u vervolgens op menu Edit/Column Editor… , in het veld ‘ Text to insert’, voert u “ in, dan krijgt het begin van elke regel een aanhalingsteken, dan kunt u de reguliere expressie gebruiken om alle tabs te zoeken/vervangen.
Het exporteren van kommagescheiden en geciteerde strings kan alleen met Excel 2016 en Notepad, met behulp van een kopie van de gegevens, een formule, een export, een wijziging van de bestandseigenschappen, een vervanging in Notepad, het opslaan van het geëxporteerde bestand en het opschonen. Elk is een eenvoudige stap. In detail:
Kopieer de te exporteren kolommen naar een nieuw tussenblad om het origineel te bewaren en als backup, waarbij het nieuwe blad later wordt verwijderd om het spreadsheet te laten zoals het was.
=concat("#",trim(A1),"#")
, en zet de formule op alle rijen van een andere kolom. Wijzig de eigenschappen van het bestand.csv zodat het kan worden geopend met Notepad.
Gebruik Notepad om het (de) willekeurige teken(s) te vervangen door ‘ “ ”.
Hoewel het verstandig lijkt om “ als het willekeurige karakter te gebruiken, moet het in een andere cel worden gezet, zeg ’$A$50’, en dan is wat op de export verschijnt ”. “Blijkbaar is er nog een lastige trigger.
In het notitieboekje moet het bestand worden opgeslagen, zodat het geïmporteerd kan worden en het tussenliggende bestand kan worden gewist.
9.” Met het opschonen van de extra spreadsheet missie volbracht.
Misschien kunnen de Access export tools op een dag in Excel worden ingebed. Een meer generieke aanpak onder de programma’s die gebruik maken van knippen en plakken, zou zijn om de plakopties een keuze te laten maken uit de manier waarop de uitvoerstructuur wordt geïnterpreteerd en de afbakeningen worden geleverd.
Een andere manier om het bestand te importeren (ik heb ver 2007) is door het te exporteren als een tekstbestand. Verander dan de .txt in .csv. Merk op dat alle nummervelden geen dubbele aanhalingstekens hebben, dus als u ook dubbele aanhalingstekens nodig heeft rond de nummers, verander dan in Access het veld van een nummerveld naar een tekstveld.
Voor Windows gebruikers
Merk op dat dit niet hetzelfde toetsenbordcitaat is dat een voorwaartse en achterwaartse variatie heeft.
Dus als je CSV gebruikt om te LOADEN in Mysql tabel, knippen en plakken in ENCLOSED parameter anders zul je je afvragen waarom je bericht #1083 - Field separator argument is not what is expected
krijgt
Ik heb de onderstaande benadering gebruikt om drie kolommen in Excel te nemen en de string in de vierde kolom op te bouwen.
=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""
Mijn probleem met de "''"@"''"
benadering is de tweede kolom van mijn gegevens was een getal de "''"@"''"
benadering deed niets met de getallen. Soms is de tweede kolom leeg, maar ik moest er zeker van zijn dat het in het uiteindelijke tekstbestand werd gerepresenteerd.
Dit is mijn recept. Ik haat het om dit te moeten doen, maar ik had geen betere manier. In mijn geval, krijg ik geen citaten rond een veld. Ik moest ook UTF-8 codering gebruiken en ; in plaats van tabs, dus dit is wat ik eindigde.
NOTE: vanwege de leesbaarheid van het zetten van dubbele aanhalingstekens ingesloten door enkele aanhalingstekens en zo verder, heb ik doelbewust “toetsenbordopmaak” gebruikt om zowel toetsaanslagen als letterlijke tekens en strings aan te geven.
Hier is hoe je de OpenOffice app kunt gebruiken om een Excel spreadsheet te nemen en een tekst (csv) bestand te maken met aanhalingstekens rond elk tekstveld.
Open het Excel bestand met OpenOffice, volg dan de volgende stappen:
Bestand > Opslaan als
Geef een nieuwe naam voor het bestand dat je gaat maken
Voor Filetype, kies “Test CSV (. csv)”
zet het selectievakje “Edit Filter Settings” aan
klik op “Save”
kies “Keep current format”
Veldafbakening moet een komma zijn:
tekst afbakening moet een aanhalingsteken zijn: “
vink het vakje "Quote all text cells” aan
klik op “OK”
Dit werkte voor mij!
Ik ben dit onderwerp al vele malen tegengekomen. Hier is de eenvoudigste oplossing die ik heb bedacht.
Access stelt u in staat om het exporteren van begrenzingen te specificeren als een komma en kwalificerende tekstvelden met aanhalingstekens. In de export wizard kunt u een willekeurig scheidingsteken of teken rond strings opgeven.
Het kan zijn dat u een Access query moet aanmaken om de velden in een bepaalde volgorde te rangschikken of het door Access toegevoegde auto-ID veld te verbergen.
Ook… als het eenmaal geëxporteerd is naar een CSV, open het dan NIET meer in Excel. Als u de resultaten wilt bekijken, opent u het in een notitieblok. Excel heeft de neiging om te knoeien met de gegevens van een csv…. Ik denk dat het velden waren met voorloopnullen als ik me goed herinner.