Удалите лишние слова в multi csv pythonPython

Программы на Python
Ответить
Anonymous
 Удалите лишние слова в multi csv python

Сообщение Anonymous »

Я использовал Python для подсчета строк в нескольких файлах CSV.
В таблице ниже представлен исходный файл CSV.
Некоторые файлы будут иметь вид «/t/t», некоторые — «/n/n». '
Но скрипт пустых строк не работает.
Пожалуйста, помогите мне. Спасибо.



Номер клиента
ISMB




Ячейка 1
Ячейка 2


Ячейка 3
Ячейка 4






Ячейка 3
Ячейка 4


Ячейка 3
Ячейка 4

< tr>





Мой полный скрипт:
import glob
import json

files = glob.glob('C:/Users/Downloads/*.csv')
#Remove First Row
for file in files:
lines = open(file,encoding = "utf-16").readlines()
open(file, 'w',encoding = "utf-16").writelines(lines[1:])

# Remove blank rows
for f in files:
with open(f, 'r',encoding = "utf-16") as out:
data = out.read()
data=data.replace('\n\n','\n')
data=data.replace('\t\t','\n')
open(file, 'w',encoding = "utf-16").write()

#Count rows
a = {}
total = 0

for f in files:
with open(f, 'r',encoding = "utf-16") as out:
nb_row = len(out.readlines())
a[f.replace(".csv", "")]= nb_row
total += nb_row

#Convert to str
a=json.dumps(a)
a=a.replace('C:/Users/Downloads\\\\','')
a=a.replace(',', '\n')
a=a.replace('{', '\n')
a=a.replace('}', '\n')
a=a.replace('\n',"")

#Write a log
log=open('C:/Users/sandytong/Downloads'+'/'+'testinglog.txt',"w" )
from time import gmtime, strftime
log.write('Start Time :' +strftime("%Y-%m-%d , gmtime())+"\n")
log.write("*"*46 + '\n')
log.write(a+ '\n')
log.write("*"*46 + '\n')

Я попробовал приведенный ниже сценарий, но он не работает.
Пожалуйста, помогите мне. Спасибо.
# Remove blank rows
for f in files:
with open(f, 'r',encoding = "utf-16") as out:
data = out.read()
data=data.replace('\n\n','\n')
data=data.replace('\t\t','\n')
open(file, 'w',encoding = "utf-16").write()

Он возвращается
Traceback (most recent call last):
File "", line 2, in
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\encodings\utf_16.py", line 67, in _buffer_decode
raise UnicodeError("UTF-16 stream does not start with BOM")
UnicodeError: UTF-16 stream does not start with BOM


Подробнее здесь: https://stackoverflow.com/questions/791 ... csv-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»