如何将记事本++文件中的列导出为csv文件格式

how to export a column from notepad++ file to csv file format

我在 Notepad++ 中有一个文件。我想从文件中获取某些列并将其转换为 csv 文件格式。是否可以借助某些代码从文件中提取特定值并保存到 csv 文件?

预计:

看来这是 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 相关的重复问题。

How do I write a Python dictionary to a csv file?