我有一个文件txt/csv文件,分隔符为“~”,每个值用分隔符分隔,但分隔符之间的值也有“\n”字符。我想要一个输出文件,每个值被放置在每个单元格,其中包括换行符以及。我该怎么做?你知道吗
我的文件如下所示:
1~2~3~4~5~6~7~8~9~10~11~12~13~14~15~16~17~18~19~20~21~22~23~24~25~26~27~28~29~30~31~32~33~34~35~36~37~38~39~40~
284913111067~284913111068~284913111069~284913111070~284913111071~284913111072~284913111073~284913111074~284913111075~284913111076~284913111077~284913111078~284913111079~284913111080~284913111081~284913111082~284913111083~284913111084~284913111085~284913111086~284913111087~284913111088~284913111089~284913111090~284913111091~284913111092~284913111093~284913111094~284913111095~284913111096~284913111097~284913111098~284913111099~284913111100~284913111101~284913111102~284913111103~284913111104~284913111105~284913111106~
MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~MSS~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~SA~
U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~U~NE~NE~NE~NE~NE~NE~NE~NE~U~NE~U~NE~U~U~U~
0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~
284913380481;284913380482;284913380483;284913380484~284913380485;284913380486;284913380487;284913380488~284913380489;284913380490;284913380491;284913380492~284913380493;284913380494;284913380495;284913380496~284913380497;284913380498;284913380499;284913380500~284913380501;284913380502;284913380503;284913380504~284913380505;284913380506;284913380507;284913380508~284913380509;284913380510;284913380511;284913380512~284913380513;284913380514;284913380515;284913380516~284913380517;284913380518;284913380519;284913380520~284913380521;284913380522;284913380523;284913380524~284913380525;284913380526;284913380527;284913380528~284913380529;284913380530;284913380531;284913380532~284913380533;284913380534;284913380535;284913380536~284913380537;284913380538;284913380539;284913380540~284913380541;284913380542;284913380543;284913380544~284913380545;284913380546;284913380547;284913380548~284913380549;284913380550;284913380551;284913380552~284913380553;284913380554;284913380555;284913380556~284913380557;284913380558;284913380559;284913380560~284913380561;284913380562;284913380563;284913380564~284913380565;284913380566;284913380567;284913380568~284913380569;284913380570;284913380571;284913380572~284913380573;284913380574;284913380575;284913380576~284913380577;284913380578;284913380579;284913380580~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~Not Applicable~
--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~--~xbchbshfbjdzbuygeyrgjdzhzuihewu45hriuy78646213wsdcvbgdreser
bhbhgv
hbhdbfhzdxf )_+)()*^
fddgfbduhygfdhxzxcvbnm
lkjhg
gggffd bgdd fds aqwe rtyi opp,./'; []=-0987654321
<>?":{}|+_)(*&^%$#@!
nhgdytsgfcusifu7fygtsygfyfrdfjhsd5e56
skjbftys
sfkndytfdtwsy6
trd
dgrdy
126;7';''',./';l[]]-=0
jhou8rdsj4nrzbwe4red
sb resyf
ASCVmnhgfstafdtg,./';[]=-0987654321<>?":{AASDFDFqeffrewrttg!@#$%^~--~--~--~
从上面的文件中可以看到,分隔符之间的值有换行符 我的输出应该是csv格式,每个值都在单个单元格中,例如:
1.....40
mss ...SA
如果您的文件是这样的:
那么这个代码应该起作用:
您只需向pandas的
sep='~'
方法提供.read_csv()
(它将\n
解释为适当字段的一部分)。假设您的数据文件如下('blahs.csv'
):然后你就可以导入熊猫,像这样读入:
(顺便说一句,熊猫将解释换行字符就像任何其他字符,除非你告诉它另外。有关详细信息,请参见official docs。)
您的文件不是CSV文件。每个字段都有一个尾随分隔符。假设第一行是标题,这意味着您有
40
字段。要解析它,您需要读取字符,直到找到40
分隔符,然后在分隔符上拆分(然后跳过下一个换行符)。可以使用generator函数一次返回一行,如下所示:结果
output.csv
包含正确用逗号分隔的单元格,单元格包含用引号括起来的换行符。例如,它可以正确地加载到Excel中。你知道吗这也可以通过使用多行正则表达式来实现。你知道吗
不过,由于最后一行只包含
29
分隔符,因此当前在文件中执行此操作将失败。如果在末尾添加十一个~
字符,就可以了。你知道吗相关问题 更多 >
编程相关推荐