Я использовал 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
Удалите лишние слова в multi csv python ⇐ Python
Программы на Python
1730263646
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79139667/remove-the-extra-words-in-multi-csv-python[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия