Ich brauche die folgende Datei output1.csv, zur Umsetzung der inhaltlich ist ein Ergebnis aus einer Quantenchemie Berechnung in einem einzigen colum effizient ist:erste und das letzte Zeichen aus CSV-Datei entfernen Python mit
Frequencies -- 18.8210 44.7624 46.9673
Frequencies -- 66.6706 102.0432 112.4930
Frequencies -- 124.4601 138.4393 180.1404
Frequencies -- 230.0306 240.4389 258.2459
Frequencies -- 282.7781 340.8302 357.7789
Frequencies -- 378.9043 384.1284 401.4285
Frequencies -- 418.0523 444.2264 447.6885
Frequencies -- 473.2391 501.0937 518.9083
Frequencies -- 559.5925 609.9256 623.7729
Frequencies -- 657.4144 672.5480 728.2009
Frequencies -- 740.5035 750.3238 757.2199
Frequencies -- 774.6343 806.7750 815.9990
Frequencies -- 839.3050 858.0716 876.1641
Frequencies -- 888.6654 942.2963 965.7888
Frequencies -- 987.3819 994.7388 1020.8724
Frequencies -- 1025.0426 1045.5129 1059.0966
Frequencies -- 1076.5127 1143.1178 1155.4200
Frequencies -- 1208.6790 1219.7513 1244.7080
Frequencies -- 1265.6108 1287.8830 1300.0463
Frequencies -- 1325.0427 1339.0678 1353.0061
Frequencies -- 1369.0614 1408.5258 1433.0543
Frequencies -- 1452.4148 1454.6319 1500.4304
Frequencies -- 1511.2305 1517.2562 1552.9189
Frequencies -- 1560.5313 1636.2290 1640.1732
Frequencies -- 1664.8747 1681.5566 1703.2026
Frequencies -- 1770.2627 3058.4143 3122.3743
Frequencies -- 3147.1828 3192.5897 3199.1398
Frequencies -- 3211.0676 3222.0033 3236.3394
Frequencies -- 3262.2119 3556.7997 3862.4791
Um das zu erreichen ich schrieb diesen Code:
import os
import csv
import re
import sys
import pandas as pd
inputfile = open('output1.csv', 'r')
reader = csv.reader(inputfile)
outputfile = open('output1_f.csv', 'a')
writer = csv.writer(outputfile)
with open('output1_f.csv', 'w') as file:
file.write('Frequencies,Frequencies,Frequencies\n')
for row in reader:
row = [re.sub(' +', ',', item) for item in row]
row = [re.sub(',Frequencies,--,', '', item) for item in row]
# row = map(str.strip, row)
writer.writerow(row)
inputfile.close()
outputfile.close()
ich den Code als Kommentar, um das erste und das letzte Zeichen " aus jeder Zeile in der output1_f.csv Datei zu löschen hinzugefügt jedoch es nicht funktioniert
01.235.164..row = map(str.strip, row)
Ich fand die line.replace Lösung, die eine zweite output1_2f.csv-Datei erstellt.
inputfile = open('output1_f.csv', 'r')
outputfile = open('output1_2f.csv', 'w')
for line in inputfile:
line = line.replace('"', '')
outputfile.write(line)
inputfile.close()
outputfile.close()
Der folgende transponieren Teil funktioniert nur, wenn der Charakter „ entfernt wird, und dies ist der Grund, dass ich den löschen muß“ Charakter effizient Code statt line.replace.
Ich wäre dankbar, wenn Sie mir eine Idee vorschlagen könnten, den Code zu verkürzen und ihn effizienter und einfacher zu verwenden. Danke Entwickler für Ihre Zeit !!!
Vielleicht ist dies besser geeignet für [http://codereview.stackexchange.com/](http://codereview.stackexchange.com/ ist) ? –