Как экспортировать столбец из файла Notepad ++ в формат файла CSV - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть файл в Notepad ++.Я хочу получить определенные столбцы из файла и преобразовать его в формат файла CSV.Можно ли с помощью некоторого кода извлечь конкретные значения из файла и сохранить в CSV-файл?file

Ожидается:

EXP

1 Ответ

1 голос
/ 28 сентября 2019

Похоже, это формат файла PCH. source

Копаясь, я нашел следующий проект PyPi, который может упростить это для вас.

https://pypi.org/project/nastran_pch_reader/

Используя это, я смогвозьмите этот источник

$TITLE   =                                                                     1
$SUBTITLE=                                                                     2
$LABEL   = LC1_FX_SCHUB                                                        3
$DISPLACEMENTS                                                                 4
$REAL OUTPUT                                                                   5
$SUBCASE ID =           1                                                      6
        87       G      1.629659E+00     -2.945256E-03     -1.814055E-01       7
-CONT-                  0.000000E+00      0.000000E+00      0.000000E+00       8
        88       G      1.441063E+00     -3.940322E-03     -1.789713E-01       9
-CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      10
        89       G      1.256296E+00     -4.810100E-03     -1.743457E-01      11

и запустите следующий python

>>> import nastran_pch_reader                                                                                           >>> parser = nastran_pch_reader.PchParser('mypch.pch')
>>> dir(parser)
['_PchParser__get_data_per_request', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'cur_data_chunks', 'cur_entity_id', 'cur_entity_type_id', 'cur_output', 'cur_request', 'cur_subcase', 'current_frequency', 'get_accelerations', 'get_displacements', 'get_forces', 'get_frequencies', 'get_mpcf', 'get_spcf', 'get_subcases', 'health_check', 'insert_current_frame', 'is_frequency_response', 'output_sort', 'parsed_data', 'reset_current_frame', 'validate']
>>> # Now I can check out some variables/functions!
>>> 
>>> parser.parsed_data                                                                                                  {'DISPLACEMENTS': {1: {88: [1.441063, -0.003940322, -0.1789713, 0.0, 0.0, 0.0], 89: [1.256296, -0.0048101, -0.1743457], 87: [1.629659, -0.002945256, -0.1814055, 0.0, 0.0, 0.0]}}, 'FREQUENCY': {1: {}}, 'ELEMENT STRAINS': {}, 'ELEMENT FORCES': {}, 'SPCF': {}, 'MPCF': {}, 'ACCELERATION': {}, 'SUBCASES': {1}}
>>>
>>>
>>> parser.get_displacements(1)
{88: [1.441063, -0.003940322, -0.1789713, 0.0, 0.0, 0.0], 89: [1.256296, -0.0048101, -0.1743457], 87: [1.629659, -0.002945256, -0.1814055, 0.0, 0.0, 0.0]}
>>>
>>> # this library isn't too featureful, get_displacements() only lets us get 1 at a time 
>>> parser.parsed_data['DISPLACEMENTS']
{1: {88: [1.441063, -0.003940322, -0.1789713, 0.0, 0.0, 0.0], 89: [1.256296, -0.0048101, -0.1743457], 87: [1.629659, -0.002945256, -0.1814055, 0.0, 0.0, 0.0]}}
>>> for frame, values in parser.parsed_data['DISPLACEMENTS'].items():                                                   ...     for row, value in sorted(values.items()):                                                                       ...         print('{frame} : {row} - {value}'.format(frame=frame, row=row, value=value))                                ...

1 : 87 - [1.629659, -0.002945256, -0.1814055, 0.0, 0.0, 0.0]
1 : 88 - [1.441063, -0.003940322, -0.1789713, 0.0, 0.0, 0.0]
1 : 89 - [1.256296, -0.0048101, -0.1743457]

Отсюда вы можете преобразовать этот набор данных так, как вам нужно, и записать его в csv.Этот ответ может потребоваться расширить, чтобы написать свой конкретный формат.Однако, здесь есть повторяющийся вопрос, так как он относится к записи в csv.

Как записать словарь Python в файл csv?

...